📅  最后修改于: 2023-12-03 15:12:48.940000             🧑  作者: Mango
在 Pandas 中,我们通常会操作数据集的各个列,但有时候我们需要在数据集中选择除指定列(在这里是 pandas 列)之外的所有列。下面我们将介绍一些方法来实现这一目标。
我们可以使用 Pandas 的 drop() 函数来删除指定列,然后再选择剩下的所有列。例如,我们有以下数据集:
import pandas as pd
data = {
'col1': [1, 2, 3, 4],
'col2': [5, 6, 7, 8],
'pandas': [9, 10, 11, 12],
'col4': [13, 14, 15, 16]
}
df = pd.DataFrame(data)
col1 col2 pandas col4
0 1 5 9 13
1 2 6 10 14
2 3 7 11 15
3 4 8 12 16
要选择除 pandas 之外的所有列,我们可以使用以下代码:
df = df.drop('pandas', axis=1)
other_cols = df.columns.tolist()
这将删除名为 'pandas' 的列,并将其余列的名称转换为列表。
我们还可以使用 Pandas 的 iloc[] 函数来选择除指定列之外的所有列。例如,我们要选择除第3列(即名为 'pandas' 的列)之外的所有列,我们可以使用以下代码:
other_cols = df.iloc[:, ~2].columns.tolist()
这将选择所有列除去第3列,即:
Index(['col1', 'col2', 'col4'], dtype='object')
最后,我们可以使用 Pandas 的 loc[] 函数来选择除指定列之外的所有列。例如,我们要选择除名为 'pandas' 的列之外的所有列,我们可以使用以下代码:
other_cols = df.loc[:, ~df.columns.isin(['pandas'])].columns.tolist()
这将选择除名为 'pandas' 的列之外的所有列,即:
Index(['col1', 'col2', 'col4'], dtype='object')
这些是在 Pandas 中选择除指定列之外的所有列的几种方法。无论你选择哪种方法,都需要根据你的数据集和需求进行选择。