我想知道這是一個錯誤,或者可能我不明白nanmean應該如何與數據框一起工作。似乎工作,如果我將數據幀轉換爲數組,但不是直接在數據幀上,也不會引發任何異常。這裏本來注意到:Fill data gaps with average of data from adjacent daysNumpy的nanmean和dataframe(可能的bug?)
df1 = DataFrame({ 'x': [1,3,np.nan] })
df2 = DataFrame({ 'x': [2,np.nan,5] })
x
0 1
1 3
2 NaN
x
0 2
1 NaN
2 5
In [1503]: np.nanmean([df1,df2], axis=0)
Out[1503]:
x
0 1.5
1 NaN
2 NaN
In [1504]: np.nanmean([df1.values, df2.values ], axis=0)
Out[1504]:
array([[ 1.5],
[ 3. ],
[ 5. ]])
這看起來像一個錯誤,但我不清楚,如果這是熊貓或numpy的錯誤,因爲歷史上有一些問題,其中轉換到numpy數組是不成立的,我在scikit中遇到過很多:http: //stackoverflow.com/questions/21390084/valueerror-array-contains-nan-or-infinity-in-assert-all-finite-during-linearsv/21410340#21410340和http://stackoverflow.com/questions/23095725/讓scikit-learn-to-work-with-pandas – EdChum 2014-09-18 20:05:54
此外:http://stackoverflow.com/questions/22669208/attributeerror-series-object-has-no-attribute-searchsorted-pandas/22669229#22669229。這可能是一個與numpy沒有調用'__array__'的問題,所以我不知道這是否是一個大熊貓的錯誤 – EdChum 2014-09-18 20:09:29
我想這個教訓是不會假設numpy會以你認爲的方式來翻譯一個數據框或一系列。只有在有任何疑問時才使用.values ... – JohnE 2014-09-19 14:53:00