Pandas 从CSV文件中读取指定列

Pandas 从CSV文件中读取指定列

在本文中,我们将介绍如何使用Python中的Pandas模块从CSV文件中读取特定的列。CSV文件通常是用逗号分隔的数据文件,其中包含一系列行和列。假设我们有一个CSV文件,每行包含若干列:

Name, Age, Gender, Occupation
Alice, 28, Female, Engineer
Bob, 35, Male, Scientist
Charlie, 45, Male, Artist
Python

要读取特定的列,我们可以使用Pandas中的read_csv()函数。首先,我们需要安装Pandas模块:

pip install pandas
Python

接下来,我们可以使用以下代码从CSV文件中读取所有列:

import pandas as pd

df = pd.read_csv('data.csv')
Python

现在,我们可以通过查看dataframe的列名来了解这个数据的结构:

print(df.columns)
Python

输出结果为:Index(['Name', 'Age', 'Gender', 'Occupation'], dtype='object')

这些列名正是我们在CSV文件中看到的列名。

阅读更多:Pandas 教程

仅读取指定的列

要仅读取CSV文件中的特定列,我们需要指定所需列的列名列表。例如,我们只想读取“Name”和“Occupation”列,我们可以这样做:

df = pd.read_csv('data.csv', usecols=['Name', 'Occupation'])
Python

现在,我们可以打印出这个dataframe的列名,以确认只有“Name”和“Occupation”列被读取了:

print(df.columns)
Python

输出结果为:Index(['Name', 'Occupation'], dtype='object')

以不同的方式指定列

使用usecols参数是指定列的一种简单方法,但它仅适用于列名已知的情况。如果我们需要根据列的位置而不是名称来指定列,则可以使用以下代码:

df = pd.read_csv('data.csv', usecols=[0, 3])
Python

这将读取第一列和第四列(Python中的索引从0开始)。

还有一种方法可以根据列名的子字符串来选择列。例如,假设我们的CSV文件中有许多以“Value”开头的列,我们可以这样做:

df = pd.read_csv('data.csv', usecols=lambda x: x.startswith('Value'))
Python

这将读取所有以“Value”开头的列。

忽略特定的列

有时候我们只需要忽略一些列,而不必指定要读取的所有列。在这种情况下,我们可以使用usecols参数的逆参数:skipcols。例如,我们想忽略“Gender”列,我们可以这样做:

df = pd.read_csv('data.csv', skipcols=['Gender'])
Python

现在,我们可以查看这个dataframe的列名,以确认只有“Name”,“Age”和“Occupation”列被读取了:

print(df.columns)
Python

输出结果为:Index(['Name', 'Age', 'Occupation'], dtype='object')

总结

本文介绍了如何使用Pandas从CSV文件中读取特定的列。我们看到了如何使用usecols参数指定要读取的列,如何根据列的位置、子字符串或其他条件来指定列,以及如何使用skipcols参数忽略特定列。Pandas提供了灵活的API来处理大量的CSV文件,即使这些文件很大或包含大量的列和行。希望这篇文章能帮助你更好地读取和处理CSV文件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册