📜  如何在 Pandas 中排除列?

📅  最后修改于: 2022-05-13 01:55:20.880000             🧑  作者: Mango

如何在 Pandas 中排除列?

在本文中,我们将讨论如何排除 pandas 数据框中的列。

让我们在Python中创建一个包含四列的数据框。

Python3
# import pandas module
import pandas as pd
  
# create food dataframe
data = pd.DataFrame({'food_id': [1, 2, 3, 4],
                     'name': ['idly', 'dosa', 'poori', 'chapathi'],
                     'city': ['delhi', 'goa', 'hyd', 'chennai'],
                     'cost': [12, 34, 21, 23]})
  
# display
data


Python3
# import pandas module
import pandas as pd
  
# create food dataframe
data = pd.DataFrame({'food_id': [1, 2, 3, 4],
                     'name': ['idly', 'dosa', 'poori', 'chapathi'],
                     'city': ['delhi', 'goa', 'hyd', 'chennai'],
                     'cost': [12, 34, 21, 23]})
  
# exclude name column
print(data.loc[:, data.columns != 'name'])
  
# exclude city column
print(data.loc[:, data.columns != 'city'])
  
# exclude cost column
print(data.loc[:, data.columns != 'cost'])


Python3
# import pandas module
import pandas as pd
  
# create food dataframe
data = pd.DataFrame({'food_id': [1, 2, 3, 4],
                     'name': ['idly', 'dosa', 'poori', 'chapathi'],
                     'city': ['delhi', 'goa', 'hyd', 'chennai'],
                     'cost': [12, 34, 21, 23]})
  
# exclude name and food_id column
print(data.loc[:, ~data.columns.isin(['name', 'food_id'])])


输出:

方法一:排除一列

我们可以使用 loc函数从 pandas 数据框中排除一列。此函数根据位置删除列。

语法

dataframe.loc[:, ddataframe.columns!='column_name']

参数:

  • 数据框:是输入数据框
  • columns:是用来获取列的方法
  • column_name:是要排除的列

例子:

在此示例中,我们将使用 loc()函数和给定的数据框来排除Python中具有名称、城市和成本的列。

Python3

# import pandas module
import pandas as pd
  
# create food dataframe
data = pd.DataFrame({'food_id': [1, 2, 3, 4],
                     'name': ['idly', 'dosa', 'poori', 'chapathi'],
                     'city': ['delhi', 'goa', 'hyd', 'chennai'],
                     'cost': [12, 34, 21, 23]})
  
# exclude name column
print(data.loc[:, data.columns != 'name'])
  
# exclude city column
print(data.loc[:, data.columns != 'city'])
  
# exclude cost column
print(data.loc[:, data.columns != 'cost'])

输出:

方法 2:排除多列

这里我们使用带有 isin运算符的 loc函数来排除多列

语法

例子:

在此示例中,我们将使用 isin运算符从给定数据框中排除 name 和 food_id 列。

Python3

# import pandas module
import pandas as pd
  
# create food dataframe
data = pd.DataFrame({'food_id': [1, 2, 3, 4],
                     'name': ['idly', 'dosa', 'poori', 'chapathi'],
                     'city': ['delhi', 'goa', 'hyd', 'chennai'],
                     'cost': [12, 34, 21, 23]})
  
# exclude name and food_id column
print(data.loc[:, ~data.columns.isin(['name', 'food_id'])])

输出: