我在excel文件中有这样的列:
Numbers
13.264.999,99
1.028,10
756,4
1.100,1
因此,当我用pd.read_excel
加载它时,一些像756,4
这样的数字会被转换成756.4
并成为float,而上面示例中的其他3个保持不变,是字符串。你知道吗
现在我想让列的形式如下(int类型):
Numbers
13264999.99
1028.10
756.4
1100.1
但是,使用以下代码从excel转换加载的列时:
df["Numbers"]=df["Numbers"].str.replace('.','')
df["Numbers"]=df["Numbers"].str.replace(',','.')
df["Numbers"]=df["Numbers"].astype(float)
我得到:
Numbers
13264999.99
1028.10
nan
1100.1
怎么办?你知道吗
如Anton vBR的注释所示,使用参数
thousands='.'
,您将正确读取数据。你知道吗您可以尝试读取默认类型为字符串的excel
好吧,所以我设法解决了这个问题:
因此,首先我将每个值转换为字符串,然后将每个逗号替换为点。 然后我留下最后一个点,这样数字就可以很容易地转换成浮点数:
相关问题 更多 >
编程相关推荐