如何删除 pandas 中的多列(4 种方法)


您可以使用以下方法从 pandas DataFrame 中删除多列:

方法 1:按名称删除多列

 df. drop (columns=[' col1 ', ' col2 ', ' col4 '], inplace= True )

方法 2:按名称删除范围中的列

 df. drop (columns= df.loc [:, ' col1 ':' col4 '], inplace= True )

方法 3:按索引删除多列

 df. drop (columns=df. columns [[0, 3, 4]], inplace= True )

方法 4:按索引删除范围中的列

 df. drop (columns= df.columns [1:4], inplace= True )

注意inplace=True参数告诉 pandas 删除就地列而不重新分配 DataFrame。

以下示例展示了如何在实践中使用以下 pandas DataFrame 的每种方法:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' steals ': [4, 5, 10, 12, 4, 8, 7, 2]})

#view DataFrame
print (df)

  team points assists rebounds steals
0 A 18 5 11 4
1 B 22 7 8 5
2 C 19 7 10 10
3 D 14 9 6 12
4 E 14 12 6 4
5 F 11 9 5 8
6 G 20 9 9 7
7:28 4 12 2

示例 1:按名称删除多列

以下代码显示如何按名称删除point篮板抢断列:

 #drop multiple columns by name
df. drop (columns=[' points ', ' rebounds ', ' steals '], inplace= True )

#view updated Dataframe
print (df)

  team assists
0 to 5
1 B 7
2 C 7
3 D 9
4 E 12
5 F 9
6 G 9
7:04 a.m.

示例 2:按名称删除范围中的列

以下代码显示如何按名称删除反弹列之间的每一列:

 #drop columns in range by name
df. drop (columns= df.loc [:, ' points ':' rebounds '], inplace= True )

#view updated Dataframe
print (df)

  team steals
0 to 4
1 B 5
2 C 10
3 D 12
4 E 4
5 F 8
6 G 7
7 A.M. 2

示例 3:按索引删除多列

以下代码显示如何从 DataFrame 中删除索引位置 0、3 和 4 处的列:

 #drop multiple columns by index
df. drop (columns=df. columns [[0, 3, 4]], inplace= True )

#view updated Dataframe
print (df)

   assist points
0 18 5
1 22 7
2 19 7
3 14 9
4 14 12
5 11 9
6 20 9
7 28 4

示例 4:按索引删除范围中的列

以下代码显示如何从 DataFrame 中删除索引位置 0、3 和 4 处的列:

 #drop columns by index range
df. drop (columns= df.columns [1:4], inplace= True )

#view updated Dataframe
print (df)

  team steals
0 to 4
1 B 5
2 C 10
3 D 12
4 E 4
5 F 8
6 G 7
7 A.M. 2

请注意, df.columns[1:4]语法指定索引位置 14 中的列。

因此,此语法删除索引位置 1、2 和 3 处的列。

注意:您可以在此处找到 pandas drop()函数的完整文档。

其他资源

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

Pandas:如何删除具有 NaN 值的列
Pandas:如何删除不在列表中的列
Pandas:如何删除除特定列之外的所有列

添加评论

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