【发布时间】:2021-02-22 12:00:28
【问题描述】:
我有这样的excel数据
dminerals=pd.read_excel(datafile)
print(dminerals.head(5))
然后我用这个脚本用 for 循环替换 'Tr' 和 NaN 值
for key, value in dminerals.iteritems():
dminerals[key] = dminerals[key].replace(to_replace='Tr', value=int(1))
dminerals[key] = dminerals[key].replace(to_replace=np.nan, value=int(0))
然后再次打印,它似乎工作并打印数据帧类型。但它显示对象数据类型。
print(dminerals.head(5))
print(dminerals['C'].dtypes)
我尝试使用此 .astype 将 ['C'] 列之一更改为整数,但结果是值错误
dminerals['C'].astype(int)
ValueError: invalid literal for int() with base 10: 'tr'
我以为我已经将数据框中的“Tr”更改为整数值。在上面的过程中有什么我想念的吗?请帮忙,提前谢谢!
【问题讨论】:
标签: python pandas dataframe valueerror