如何在 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函数来排除多列
语法:
dataframe.loc[:, ~dataframe.columns.isin([‘column1’,………………, ‘column n’])]
例子:
在此示例中,我们将使用 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'])])
输出: