我正在读一个.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})
在使用
dtype
参数读取CSV时,可以指定列类型:https://pandas.pydata.org/pandas-docs/version/0.16/generated/pandas.read_csv.html
相关问题 更多 >
编程相关推荐