Pandas中不同的read_csv index_col参数

Pandas中不同的read_csv index_col参数

在处理Pandas DataFrame时,经常需要读取外部文件来进行数据处理。其中,read_csv是较常用的函数之一。该函数需要一些参数来帮助我们处理数据,其中index_col是其中一个比较常用的参数。在Pandas中,我们可以选择将哪一列作为索引。

在本文中,我们将介绍Pandas中不同的read_csv index_col参数。

阅读更多:Pandas 教程

1. index_col = None

如果我们在读取csv文件时没有指定index_col的话,那么Pandas自动会按照默认的方式将每一行的第一个元素作为索引。我们可以通过设置index_col为None来覆盖此默认值。

例如,我有一个students.csv文件,其数据如下所示:

name,age,gender,score
Tom,18,Male,78
Lucy,19,Female,89
Jack,20,Male,99

如果我们使用以下方式读取文件:

import pandas as pd

df = pd.read_csv("students.csv", index_col=None)
print(df.head())

则输出结果为:

   name  age  gender  score
0   Tom   18    Male     78
1  Lucy   19  Female     89
2  Jack   20    Male      99

可以看到,此时自动生成的索引就是默认的数字索引。若我们没有指定index_col的话,就可以通过None来覆盖默认的方式,保留数字索引。

2. index_col = 0

当我们在读取csv文件时,如果指定了index_col=0,则Pandas会将第一列作为索引。

例如,我使用上述的students.csv文件,我们使用如下方式读取文件:

import pandas as pd
df = pd.read_csv("students.csv", index_col=0)
print(df.head())

则输出结果为:

      age  gender  score
name                    
Tom    18    Male     78
Lucy   19  Female     89
Jack   20    Male      99

可以看到,此时自动生成的索引就是我们指定的第一列name。

3. index_col = False 或 index_col = “”

如果我们不想将任何一列作为索引,则可以设置为index_col=False或index_col=””。

例如,我使用上述的students.csv文件,我们使用如下方式读取文件:

import pandas as pd

df = pd.read_csv("students.csv", index_col=False)
print(df.head())

则输出结果为:

   name  age  gender  score
0   Tom   18    Male     78
1  Lucy   19  Female     89
2  Jack   20    Male      99

可以看到,此时自动生成的索引就是默认的数字索引,而不是指定的name列。

4. index_col = [n]

当我们有多列需要作为索引时,则可以设置index_col为一个列表,其中包含了需要作为索引的多列。

例如,我使用上述的students.csv文件,我们使用如下方式读取文件:

import pandas as pd

df = pd.read_csv("students.csv", index_col=[0, 2])
print(df.head())

则输出结果为:

              age  score
name gender            
Tom  Male      18     78
Lucy Female    19     89
Jack Male      20     99

可以看到,此时生成了多级索引,第一级是name列,第二级是gender列。

总结

本文介绍了Pandas中不同的read_csv index_col参数。通过设置index_col参数,我们可以指定不同的列作为索引,或者禁用索引。在Pandas中,index_col还可以支持多个列同时作为索引,当然需要用列表进行指定。该参数的合理设置使得我们可以更加方便地进行数据处理和分析。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程