检索除一个指定列之外的所有列的DataFrame

use*_*143 73 python dataframe pandas

有没有办法在pandas DataFrame对象中选择除一列之外的所有列?我已经看到了删除列的方法,但我不想这样做.

HYR*_*YRY 103

使用drop方法:

df.drop(column_name, axis=1)
Run Code Online (Sandbox Code Playgroud)

  • @uniquegino它指示函数在查找要删除的实体时搜索列空间.如果`axis = 0`,它将搜索行空间 (8认同)
  • 不要忘记添加 `inplace=True` 或将其分配给变量。 (2认同)

lev*_*lev 51

df.loc[:, df.columns != col]
Run Code Online (Sandbox Code Playgroud)

col要遗漏的列的名称在哪里.


EdC*_*ica 15

您只需选择所需的列而不删除或删除:

collist = ['col1', 'col2', 'col3']
df1 = df[collist]
Run Code Online (Sandbox Code Playgroud)

只需传递所需列的列表即可

您还可以检索列列表,然后从该列表中进行选择

collist = df.columns.tolist()
# you can now select from this list any arbritrary range
df1 = df[collist[0:1]]
# or remove a column
collist.remove('col2')
# now select
df1 = df[collist]
# df1 will now only have 'col1' and 'col3'
Run Code Online (Sandbox Code Playgroud)

  • 注意:问题是针对“除一个以外的所有”列,而不是用于选择一列。 (3认同)