Python - 如何获取 CSV 文件中所有列的数据类型?

Joe*_*Joe 3 python types dataframe pandas

我正在尝试从每列的 CSV 文件中获取所有数据类型。
文件中没有关于数据类型的文档,手动检查需要很长时间(它有 150 列)。

开始使用这种方法:

df = pd.read_csv('/tmp/file.csv')

>>> df.dtypes
a   int64
b   int64
c   object
d   float64
Run Code Online (Sandbox Code Playgroud)

上述方法是否足够好,或者有更好的方法来确定数据类型?
此外 - 文件有 150 列。当我输入时df.types- 我只能看到 15 列左右。如何全部看到?

the*_*orm 5

根据文件的大小,您可以通过使用以下nrows参数仅读取前几行来节省一些时间pd.read_csv

df = pd.read_csv('/tmp/file.csv', nrows=25)
Run Code Online (Sandbox Code Playgroud)

仅当您确定可以从前 n 行正确推断类型时,这才有用,因此请注意这一点。

将数据(或其子集)加载到 DataFrame 后,您可以通过多种不同方式查看类型,其中一些已经发布,但我将使用一个简单的循环和共享另一个iteritems

for name, dtype in df.dtypes.iteritems():
    print(name, dtype)

a int64
b float64
c object
Run Code Online (Sandbox Code Playgroud)