Python 使用十进制分隔符逗号读取csv不会更改所有值
我有一个带有KG列的csv文件,它用十进制分隔符指定为“,”(逗号) 当我使用Python 使用十进制分隔符逗号读取csv不会更改所有值,python,pandas,csv,Python,Pandas,Csv,我有一个带有KG列的csv文件,它用十进制分隔符指定为“,”(逗号) 当我使用pd.read_csv(文件名,sep=';',decimal=“,”)时,只有值1,55和2,66分别转换为1.55和2.66。 逗号前有3位数字的值保持不变 这是输出 KG 267,890 458,987 125,888 1.55 2.66 请有人指导我如何将所有值更改为有点,以及如何为列使用dtype as float64此解决方案对我很有帮助,尽管我不明白为什么我没有使用其他方法 f = lambda x:
pd.read_csv(文件名,sep=';',decimal=“,”)
时,只有值1,55和2,66分别转换为1.55和2.66。
逗号前有3位数字的值保持不变
这是输出
KG
267,890
458,987
125,888
1.55
2.66
请有人指导我如何将所有值更改为有点,以及如何为列使用dtype as float64此解决方案对我很有帮助,尽管我不明白为什么我没有使用其他方法
f = lambda x: (x.replace(",","."))
input_df = pd.read_csv(file_name, sep=";",converters = {'KG':f})
谢谢这对我很有效。我写了同样的代码并工作了
>>> df = pd.read_csv("/Users/SO/Desktop/test.csv",sep=';', decimal=",")
>>> df
KG,
0 267.890
1 458.987
2 125.888
3 1.550
4 2.660
>>>
在我这方面,它与dtype of
float64
一起工作很好,您使用的是哪个版本的python?你能在这里发布你尝试过的代码吗?我使用的代码与你上面提到的相同,我的pandas版本是0.24.1
你有哪个pandas版本?
>>> df = pd.read_csv("/Users/SO/Desktop/test.csv",sep=';', decimal=",")
>>> df
KG,
0 267.890
1 458.987
2 125.888
3 1.550
4 2.660
>>>