我剛剛從Pandas 0.11升級到0.13.0rc1。整理引起了與Series.fillna()相關的一個錯誤。如何解決與Series.fillna()相關的熊貓問題?
>>> df
sales net_pft
STK_ID RPT_Date
600809 20060331 5.8951 1.1241
20060630 8.3031 1.5464
20060930 11.9084 2.2990
20061231 NaN 2.6060
20070331 5.9129 1.3334
[5 rows x 2 columns]
>>> type(df['sales'])
<class 'pandas.core.series.Series'>
>>> df['sales'] = df['sales'].fillna(df['net_pft'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Python27\lib\site-packages\pandas\core\generic.py", line 1912, in fillna
obj.fillna(v, inplace=True)
AttributeError: 'numpy.float64' object has no attribute 'fillna'
>>>
爲什麼df['sales']
成爲'numpy.float64'
對象時,它fillna()
使用?如何正確地「用另一列的值填充一列的NaN」?
有一個最近的討論,這是在熊貓大師修復:https://github.com/pydata/pandas/issues/5703 – joris