给出一个文档术语pandas Dataframe。每个单元格由一个出现矩阵表示。
clover seed sowing stolon
1489 1 0 0 0
1488 1 0 0 0
9677 0 0 1 0
9996 1 0 0 1
0557 0 1 0 0
0564 1 0 0 0
0958 0 1 1 0
1272 1 0 0 0
1965 1 1 1 1
4326 1 1 1 0
4531 1 1 1 0
6026 0 0 1 0
6030 0 1 0 0
关于第一栏'三叶草'将DataFrame减少到最少3行,在所有列中包含1。在当前示例中,三叶草,种子,播种包含3行1965,4326,4531的1。结果将是:
clover seed sowing stolon
1272 1 0 0 0
1965 1 1 1 1
4326 1 1 1 0
4531 1 1 1 0
删除不相关的列:
clover seed sowing
1272 1 0 0
1965 1 1 1
4326 1 1 1
4531 1 1 1
对于任意数量的列,如何以有效的方式执行此选择过程。
答案 0 :(得分:0)
答案 1 :(得分:0)
另一种可能性是使用df.sum(axis=1)>=3
作为掩码。链drop
到此:
>>> df[df.sum(axis=1)>=3].drop('stolon', axis=1)
clover seed sowing
1965 1 1 1
4326 1 1 1
4531 1 1 1
为了更加通用:对于n
列,将3
替换为n
。您可以通过传入列表来删除多个列,例如drop(['stolon','seed'])