Pandas:导入 csv 文件时忽略第一列
将 CSV 文件导入 pandas DataFrame 时,可以使用以下基本语法忽略第一列:
with open (' basketball_data.csv ') as x: ncols = len ( x.readline (). split (' , ')) df = pd. read_csv (' basketball_data.csv ', usecols= range (1,ncols))
此特定示例会将名为篮球数据.csv的 CSV 文件的每一列读取到 pandas DataFrame 中,第一列除外。
使用此代码,我们首先查找 CSV 文件中的列数并将其分配给名为ncols的变量。
接下来,我们使用usecols参数来指定我们只想导入 CSV 文件中 1(即第二列)和最后一列之间的列。
以下示例展示了如何在实践中使用此语法。
示例:将 CSV 文件导入 Pandas 时忽略第一列
假设我们有以下名为篮球数据.csv的 CSV 文件:
我们可以使用以下语法将 CSV 文件导入 pandas DataFrame 并忽略第一列:
import pandas as pd #calculate number of columns in CSV file with open (' basketball_data.csv ') as x: ncols = len ( x.readline (). split (' , ')) #import all columns except first column into DataFrame df = pd. read_csv (' basketball_data.csv ', usecols= range (1,ncols)) #view resulting DataFrame print (df) rebound points 0 22 10 1 14 9 2 29 6 3 30 2
请注意,当我们将 CSV 文件导入 pandas 时,名为team的第一列已被删除。
请注意,如果您事先已经知道 CSV 文件中的总列数,则可以直接将该值提供给usecols参数。
例如,假设我们已经知道 CVS 文件中有三列。
我们可以使用以下语法将 CSV 文件导入 pandas DataFrame 并忽略第一列:
import pandas as pd #import all columns except first column into DataFrame df = pd. read_csv (' basketball_data.csv ', usecols= range (1,3)) #view resulting DataFrame print (df) rebound points 0 22 10 1 14 9 2 29 6 3 30 2
请注意,当我们将 CSV 文件导入 pandas 时,名为team的第一列已被删除。
由于我们已经知道 CSV 文件中有三列,因此我们只需在usecols参数中使用range(1,3)即可。
注意:您可以在此处找到 pandas read_csv()函数的完整文档。
其他资源
以下教程解释了如何在 Python 中执行其他常见任务:
Pandas:如何在读取 CSV 文件时跳行
Pandas:如何将数据添加到现有 CSV 文件
Pandas:如何将 read_csv 与 usecols 参数一起使用