如何排除 pandas 中的列(附示例)


您可以使用以下语法来排除 pandas DataFrame 中的列:

 #exclude column1
df. loc [:, df. columns !=' column1 ']

#exclude column1, column2, ...
df. loc [:, ~df. columns . isin ([' column1 ',' column2 ',...])]

以下示例展示了如何在实践中使用此语法。

示例 1:排除列

以下代码演示了如何选择 pandas DataFrame 中除一列之外的所有列:

 import pandas as pd

#createDataFrame 
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' blocks ': [2, 3, 3, 5, 3, 2, 1, 2]})

#view DataFrame
df

	points assists rebounds blocks
0 25 5 11 2
1 12 7 8 3
2 15 7 10 3
3 14 9 6 5
4 19 12 6 3
5 23 9 5 2
6 25 9 9 1
7 29 4 12 2

#select all columns except 'rebounds'
df. loc [:, df. columns !=' rebounds ']

        points assists blocks
0 25 5 2
1 12 7 3
2 15 7 3
3 14 9 5
4 19 12 3
5 23 9 2
6 25 9 1
7 29 4 2

示例 2:排除多列

以下代码显示了如何选择 pandas DataFrame 中除某些列之外的所有列:

 import pandas as pd

#createDataFrame 
df = pd. DataFrame ({' points ': [25, 12, 15, 14, 19, 23, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' blocks ': [2, 3, 3, 5, 3, 2, 1, 2]})

#view DataFrame
df

	points assists rebounds blocks
0 25 5 11 2
1 12 7 8 3
2 15 7 10 3
3 14 9 6 5
4 19 12 6 3
5 23 9 5 2
6 25 9 9 1
7 29 4 12 2

#select all columns except 'rebounds' and 'assists'
df. loc [:, ~df. columns . isin ([' rebounds ', ' assists '])]

	point blocks
0 25 2
1 12 3
2 15 3
3 14 5
4 19 3
5 23 2
6 25 1
7 29 2

使用此语法,您可以按名称排除任意数量的列。

其他资源

如何向 Pandas DataFrame 添加行
如何将 Numpy 数组添加到 Pandas DataFrame
如何计算 Pandas DataFrame 中的行数

添加评论

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