如何选择除pandas中的一列以外的所有列?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (631)

我有一个这样的数据框:

import pandas
import numpy as np
df = DataFrame(np.random.rand(4,4), columns = list('abcd'))
df
      a         b         c         d
0  0.418762  0.042369  0.869203  0.972314
1  0.991058  0.510228  0.594784  0.534366
2  0.407472  0.259811  0.396664  0.894202
3  0.726168  0.139531  0.324932  0.906575

我怎样才能得到所有的列,除了column b?

提问于
用户回答回答于

因为当你有一个数据集时,选择一个列并将其放入一个变量中,其余的列放在另一个变量中,以便进行比较或计算。然后删除数据集中没有用的列。

x_cols = [x for x in data.columns if x != 'name of column to be excluded']

然后将这些列集合放入变量中

ex: x_cols1 = data[x_cols]
用户回答回答于

不要用ix,最好的方法使用df.drop():

>>> df

          a         b         c         d
0  0.175127  0.191051  0.382122  0.869242
1  0.414376  0.300502  0.554819  0.497524
2  0.142878  0.406830  0.314240  0.093132
3  0.337368  0.851783  0.933441  0.949598

>>> df.drop('b', axis=1)

          a         c         d
0  0.175127  0.382122  0.869242
1  0.414376  0.554819  0.497524
2  0.142878  0.314240  0.093132
3  0.337368  0.933441  0.949598

在默认情况下,.drop()不工作;df.drop()还接受标签列表,例如:df.drop(['a', 'b'], axis=1)

会删除列a和b。

所属标签

可能回答问题的人

  • 天使的炫翼

    15 粉丝531 提问35 回答
  • 旺仔小小鹿

    社区 · 运营 (已认证)

    48 粉丝0 提问27 回答
  • 富有想象力的人

    2 粉丝0 提问26 回答
  • 发条丶魔灵1

    6 粉丝525 提问25 回答

扫码关注云+社区

领取腾讯云代金券