TypeError:使用Pandas Fillna时只能将整数标量数组转换为标量索引

问题描述

更新:如果我使用来自的原始df,似乎是由于.loc pd.read_excel,很好。

我有一个具有Dtypes的数据框,如下所示。

这是数据帧的csv: CSV File

日期datetime64 [ns] Amout float64 货币对象 ID对象

enter image description here

enter image description here

我使用以下代码替换NaT,NaN

while

但是,我得到了一个错误:TypeError:只能将整数标量数组转换为标量索引。

我还尝试对每一列进行填充,但没有看到错误消息,但Nan和Nat仍然保持不变。

a=np.datetime64('2000-01-01')
values={'Date':a,'Amount':0,'Currency':'0','ID':'0'}
df.fillna(value=values,inplace=True)

对我来说,这很奇怪,因为我已经多次成功使用fillna。 请给我一个建议。非常感谢。

解决方法

我认为NaNCurrency列中有字符串Id,因此请使用:

df = df.replace({'Currency': {'NaN': '0'},'ID':{'NaN': '0'}})