2017-02-24 3 views
1

몇 가지 큰 데이터 세트 (내 RAM보다 훨씬 큰 데이터)에 대한 분석을 실행하고 있습니다. 내 작업을 돕기 위해 numpy.memmap을 사용하여 데이터 세트를로드합니다 (단층 데이터 세트에서 생성 된 개별 .npy 파일에 저장 한 후).numpy.memap, Pandas dataframe 및 seaborn boxplot 문제

데이터 세트에서 여러 값을 추출한 후 팬더 데이터 프레임에서이 값을 수집합니다. 값을 보면 (예 : df.head()을 통해) 값이 잘 표시됩니다.

지금 seaborn.boxplot(data=df, x='Treatment', y='Tumor_Vol', hue='Experiment_Day') 같은으로 값을 시각화하고 싶습니다,하지만 난

ValueError: List of boxplot statistics and `positions` values must have same the length 

이 동일한 명령 이후, 메모리 매핑 값으로 인해 나에게 보인다 오류를 얻을 데이터 프레임을 CSV 파일에 저장하고 디스크에서 다시로드 할 때 작동합니다 (현재의 해결 방법).

그래서 --- 더 나은 단어가 부족하여 --- 값을 해제하고 값을 데이터 프레임에 '실제'값으로 저장할 수있는 방법이 있습니까?

+0

관심있는 데이터의 하위 집합에서 'copy'를 호출하여 숫양으로 끌어 올 수 있습니다. 예 : – Elliot

+0

'plot_copy = df.ix [:, '[Tumor_vol', 'Experiment_Day', 'Treatment']]와 같이 도움이되지 않는 것 같습니다. copy()'data_subset = memmap_data [i : j] .copy() 'plot_copy [ 'Tumor_vol']에서 나는 여전히''을 얻었습니다. – Habi

+0

최소한의 완전하고 검증 가능한 예제 (http://stackoverflow.com/help/mcve)를 포함 시키면 함께 해킹 할 수 있습니다. 그렇지 않으면 노력하고있는 것과 함께 작동하지 않는 것을 함께 모으기가 어렵습니다. – Elliot

답변

0

나는 아주 이상한 버그와 같은 종류로 달려왔다. 그래도 이것은 주퍼 노트북에서만 나타납니다.

나는 swplplot에서는 괜찮은 플롯이지만 boxplot에서는 보이지 않지만 (노트북에서는 같지만 코드는 터미널에서 작동 함) 간단한 데이터 프레임을 가지고 있습니다. 다른 데이터 프레임이 동일한 코드로 잘 그려지기 때문에 매우 이상합니다.

내 dataframe :

ValueError: List of boxplot statistics and `positions` values must have same the length 

에 해당하는 음모와 동안이 음모하지만 파이썬 파일 여기

sns.boxplot(data=df_out2,x='color',y='right-left') 

에 노트북에 실패

sample color right-left (right-left)/right 
0 OPAR19_r1c3  Blue 1 0.000334448 
1 OPAR19_r1c3  Green 305  0.255444 
2 OPAR19_r1c3  Red  15 0.0205479 
3 OPAR19_r2c6  Blue 82 0.028063 
4 OPAR19_r2c6  Green 260  0.216847 
5 OPAR19_r2c6  Red  14 0.0183246 
6 OPAR19_r1c1  Blue 75 0.0251931 
7 OPAR19_r1c1  Green -13  -0.0143488 
8 OPAR19_r1c1  Red  10 0.0137741 
9 OPAR19_r1c4  Blue -38  -0.0131579 
10 OPAR19_r1c4  Green 117  0.110169 
11 OPAR19_r1c4  Red  0 0 
12 OPAR19_r1c6  Blue 7 0.00239153 
13 OPAR19_r1c6  Green -3 -0.00295858 
14 OPAR19_r1c6  Red  -46  -0.0640669 
15 OPAR19_r2c4  Blue 95 0.0315824 
16 OPAR19_r2c4  Green 191  0.163668 
17 OPAR19_r2c4  Red  36 0.0447761 
18 OPAR19_r2c5  Blue 48 0.0164215 
19 OPAR19_r2c5  Green 165  0.154639 
20 OPAR19_r2c5  Red  -4 -0.00542005 
21 OPAR19_r1c5  Blue 199  0.0655468 
22 OPAR19_r1c5  Green 262  0.223169 
23 OPAR19_r1c5  Red  103  0.141678 
24 OPAR19_r1c2  Blue 102  0.0340681 
25 OPAR19_r1c2  Green 198  0.179837 
26 OPAR19_r1c2  Red  75 0.0955414 
27 OPAR19_r2c1  Blue 221  0.0742857 
28 OPAR19_r2c1  Green 99 0.108791 
29 OPAR19_r2c1  Red  11 0.0147453 
30 OPAR19_r2c2  Blue 159  0.0526664 
31 OPAR19_r2c2  Green 64 0.0724802 
32 OPAR19_r2c2  Red  -21  -0.0276316 
33 OPAR19_r2c3  Blue 16 0.00536733 
34 OPAR19_r2c3  Green 84 0.0769936 
35 OPAR19_r2c3  Red  -49  -0.0639687 

오류입니다 swarmplot 또는 stripplot은 잘 작동합니다.

sns.swarmplot(data=df_out2,x='color',y='right-left') 
+0

나는 이것을 노트북이나 터미널 위에서 달리게하는 것으로서 실제로 깨달았다. 난 그냥 CSV 파일에서 데이터를로드하여 터미널 에서이 실행됩니다. 따라서 데이터 프레임을 CSV에 저장 한 다음 다시로드하면 오류가 표시되지 않습니다. 그래서 이것이 데이터 프레임과 관련이 있다는 것을 의미하지만, 무엇이 잘못 되었는가는 모르겠다. – Arthur

+0

같은 문제가 있습니다. 어떤 해결책? – Estilus