读cs后Pandas栏中的不同类型

2024-04-20 03:54:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读一个.csv文件,其中一些列的条目被识别为字符串,一些被识别为浮点数(尽管它们的格式都相同!!!)我正在使用此代码:

df = pd.read_csv( "data.csv", usecols = range(0,21), sep =';', decimal=',')
df[df.columns[0:21]] = df[df[0:21]].convert_objects(convert_numeric=True)

这里是col1的输出:

1               NaN
2               NaN
3               NaN
4               NaN
5               NaN 
...
164686       22.847412
164687       22.804832
164688       22.561518

在我尝试转换它们之后,所有被识别为string的类型现在都是“NaN”类型。对我来说,这似乎是一个python bug,因为它们的格式完全相同。这里是.vsc文件的几行

      Col1        Col1        Col3         
1     23,13854599;10,99679279;0;41,40728378;
2     23,24945831;10,96249676;0;41,54985428;
3     23,16853714;11,24223709;0;40,13756943;
4     23,0876255;10,66694546;0;40,24223328;
5     23,05908775;11,06436825;0;40,91619873;
...

164686  22,84741211;11,84464455;8,786539078;
164687  22,80483246;12,12989521;8,778803825;
164688  22,56151772;12,29102707;8,908541679;

同时我真的很绝望!重要的是要知道,我被限制在熊猫0.16.2,因此我不能使用,例如,方法像\u数字。你知道吗

非常感谢你的帮助

编辑: 直接类型转换示例

df = pd.read_csv( "data.csv", sep =';',  usecols = range(0,21), dtype = {'Col1' : float, 'Col2' : float})

Tags: 文件csv类型convertdfreaddata格式