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

Python TypeError:使用数组时,只能将整数标量数组转换为标量索引,python,pandas,dataframe,fillna,Python,Pandas,Dataframe,Fillna,更新:如果我使用来自的原始df,似乎是由于.loc 阅读excel,这很好 我有一个数据帧,数据类型如下 这是数据帧的csv: 日期时间64[ns] 浮点数64 货币对象 ID对象 我用下面的代码替换NaT,NaN a=np.datetime64('2000-01-01') values={'Date':a,'Amount':0,'Currency':'0','ID':'0'} df.fillna(value=values,inplace=True) 但是,我得到了一个错误:TypeEr

更新:如果我使用来自的原始df,似乎是由于.loc 阅读excel,这很好

我有一个数据帧,数据类型如下

这是数据帧的csv:

日期时间64[ns] 浮点数64 货币对象 ID对象

我用下面的代码替换NaT,NaN

a=np.datetime64('2000-01-01')
values={'Date':a,'Amount':0,'Currency':'0','ID':'0'}
df.fillna(value=values,inplace=True)
但是,我得到了一个错误:TypeError:只有整数标量数组可以转换为标量索引

我还尝试用每个列填充NA,没有看到错误消息,但Nan和Nat仍然保持不变

a=np.datetime64('2000-01-01')
df[['Date']].fillna(a,inplace=True)
df[['Amount']].fillna(0,inplace=True)
df[['Currency']].fillna('0',inplace=True)
df[['ID']].fillna('0',inplace=True)
这对我来说似乎很奇怪,因为我已经成功地使用了很多次fillna。
请给我一个建议。非常感谢。

我认为
Currency
Id
列中有字符串
NaN
,请使用:

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

你能把csv样本作为文本格式而不是图像格式吗?我刚刚在我的帖子顶部添加了csv文件的链接。我试图读取你的csv,但我无法重现错误。在我这边,它和您的代码一样工作-
df.fillna(value=values,inplace=True)
谢谢。我会试试你的方法。但我仍然想知道,为什么在我尝试第一种方法时,它会抛出错误消息。我已经尝试过了,但没有成功。我刚刚在帖子顶部添加了csv文件的链接。你能看一下吗?