读取 csv 文件时更改列格式

Change columns format when reading in csv file

我有这个 csv 文件(名为 df.csv):

我是用这段代码读的:

import pandas as pd
df = pd.read_csv('df.csv')

然后我使用以下代码将其打印出来:

print(df)

打印输出如下所示:

  employment_type    ltv
0                       
1                       
2        Salaried  77.13
3        Salaried   77.4
4        Salaried  76.42
5        Salaried  71.89

如您所见,前两条记录为空。 我用这段代码检查数据帧信息:

print(df.info())

输出如下所示:

 #   Column           Non-Null Count  Dtype 
---  ------           --------------  ----- 
 0   employment_type  6 non-null      object
 1   ltv              6 non-null      object

现在,我希望:

我猜这两个字段都被作为对象读入的原因是因为第一个空记录,对吗?

虽然我很高兴 employment_type 可以作为对象读入,但我如何才能将 ltv 字段作为数字读入? 我不想在读入文件后修改格式。我需要找到一种在读入文件时自动分配正确格式的方法:我将不得不读入一些包含数百列的类似文件,我无法手动为每一列分配正确的格式。

我猜两个字段都被作为对象读入的原因是因为第一个空记录,对吗? 是的,pandas 非常擅长推断数据类型,空单元格不能是 int 或 float。
要解决您的问题,只需删除这些空行(使用 dropna),然后您就可以编写

df['ltv']=df['ltv'].astype(float)