【问题标题】:pyPandas functionality request: reverse/negative df.droppyPandas 功能请求:反向/负 df.drop
【发布时间】:2012-09-20 15:30:09
【问题描述】:

我认为反向/负 dataframe.drop 功能将是一个非常有用的工具。 有没有人克服这个问题?

【问题讨论】:

  • 什么意思?你想让它做什么?
  • @BreanBarn:删除不匹配的条件。

标签: python pandas


【解决方案1】:

一般来说,我发现自己在获得选择的逆时使用boolean indexing 和波浪号运算符,而不是 df.drop(),尽管当布尔索引用于形成数组时,相同的概念适用于 df.drop要删除的标签。希望对您有所帮助。

In [44]: df
Out[44]: 
          A         B
0  0.642010  0.116227
1  0.848426  0.710739
2  0.563803  0.416422

In [45]: cond = (df.A > .6) & (df.B > .3)

In [46]: df[cond]
Out[46]: 
          A         B
1  0.848426  0.710739

In [47]: df[~cond]
Out[47]: 
          A         B
0  0.642010  0.116227
2  0.563803  0.416422

【讨论】:

    【解决方案2】:

    如果我没听错的话,你可以通过在索引上使用“isin”进行索引来获得这种效果:

    >>> df
             A         B         C
    0  0.754956 -0.597896  0.245254
    1 -0.987808  0.162506 -0.131674
    2 -1.064639 -2.193629  1.814078
    3 -0.483950 -1.290789  1.776827
    4 -0.191055 -0.461204  0.412220
    >>> df[df.index.isin([0, 2, 3])]   # Drop rows whose label is not in the set [0, 2, 3]
             A         B         C
    0  0.754956 -0.597896  0.245254
    2 -1.064639 -2.193629  1.814078
    3 -0.483950 -1.290789  1.776827
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 2018-02-24
      • 2022-07-23
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      相关资源
      最近更新 更多