如何删除 pandas dataframe 中的未命名列


您可以使用以下两种方法删除 pandas DataFrame 中列名中包含“Unnamed”的列:

方法一:导入数据时删除未命名列

 df = pd. read_csv (' my_data.csv ', index_col= 0 )

方法2:导入数据后删除未命名列

 df = df. loc [:, ~df. columns . str . contains (' ^Unnamed ')]

以下示例展示了如何在实践中使用每种方法。

示例 1:导入数据时删除未命名列

假设我们创建一个简单的 pandas DataFrame 并将其导出到 CSV 文件:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#view DataFrame
print (df1)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

现在,当我们尝试将文件读入 pandas DataFrame 时,第一列名为Unnamed: 0

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

为了避免这种情况,我们可以指定index_col=0来告诉pandas第一列实际上是索引列:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ', index_col= 0 )

#view DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

示例2:导入数据后删除未命名列

假设我们创建一个简单的 pandas DataFrame 并将其导出到 CSV 文件:

 import pandas as pd

#createDataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [4, 4, 6, 8, 9, 5],
                    ' rebounds ': [12, 7, 8, 8, 5, 11]})

#export DataFrame to CSV file
df1. to_csv (' my_data.csv ')

现在假设我们将此文件导入到 pandas DataFrame 中:

 #import CSV file
df2 = pd. read_csv (' my_data.csv ')

#view DataFrame
print (df2)

   Unnamed: 0 team points rebounds
0 0 A 4 12
1 1 B 4 7
2 2 C 6 8
3 3 D 8 8
4 4 E 9 5
5 5 F 5 11

要删除名称中包含“Unnamed”的列,我们可以使用以下语法:

 #drop any column that contains "Unnamed" in column name
df2 = df2. loc [:, ~df2. columns . str . contains (' ^Unnamed ')]

#view updated DataFrame
print (df2)

  team points rebounds
0 to 4 12
1 B 4 7
2 C 6 8
3 D 8 8
4 E 9 5
5 F 5 11

请注意,“Unnamed: 0”列已从 DataFrame 中删除。

其他资源

以下教程解释了如何在 pandas 中执行其他常见任务:

如何删除 Pandas DataFrame 中的第一行
如何删除 Pandas DataFrame 中的第一列
如何删除 Pandas 中的重复列

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注