Pandas read_csv 跳过行但保留表头
在本文中,我们将介绍如何使用 Pandas 中的 read_csv 函数来跳过行但同时保留表头。read_csv 是 Pandas 中最常用的函数之一,它用来从 CSV 文件中读取数据并将其以 DataFrame 的形式进行存储。
在某些情况下,我们可能需要跳过一些行来读取我们需要的数据,但我们还希望保留表头。举个例子,在以下 CSV 文件中:
Name, Age, Gender
John, 18, M
Jane, 20, F
Emily, 22, F
如果我们想要从第二行开始读取数据(即跳过第一行表头),但仍需要表头来正确命名列,该如何操作呢?下面我们将介绍两种方法来实现这个需求。
阅读更多:Pandas 教程
跳过行并手动定义表头
第一种方法是手动跳过第一行,并对列进行手动命名。我们可以使用 read_csv 的 skiprows 参数来跳过需要忽略的行数,在读取数据时手动定义列名。
例如,我们可以使用以下代码来跳过第一行并指定列名:
import pandas as pd
df = pd.read_csv("data.csv", skiprows=1, names=['Name', 'Age', 'Gender'])
print(df.head())
上面代码将忽略第一行并手动指定了列名,从而读取以下数据并存储到 DataFrame 中:
Name Age Gender
0 John 18 M
1 Jane 20 F
2 Emily 22 F
我们还可以使用 Pandas 中的 rename 函数来将列名称更改为我们想要的名称:
df.rename(columns={'Name': 'Full Name'}, inplace=True)
print(df.head())
上面代码使用 rename 函数将列名 “Name” 更改为 “Full Name”,并将更改应用到 DataFrame 中。
跳过行并使用表头的索引
另一种方法是使用表头的索引来跳过行。我们可以将 header 参数设置为我们需要跳过的行数,并使用 iloc 函数来选择我们需要的行和列。
例如,以下代码将跳过第一行并使用表头的索引选择剩余的行:
import pandas as pd
df = pd.read_csv("data.csv", header=1)
df = df.iloc[:, :3] # 选择前三列数据
print(df.head())
上面代码使用了 iloc 函数来选择前三列的数据,并输出以下结果:
John 18 M
0 Jane 20 F
1 Emily 22 F
我们还可以使用 Pandas 中的 rename 函数来将列名称更改为我们想要的名称(与前面的方法相同)。
总结
本文介绍了两种方法来跳过行但同时保留表头,并介绍了如何对读取的数据进行进一步处理。这两种方法在 Pandas 中非常实用,并可根据具体情况选择适合的方式进行操作。
极客笔记