Pandas:如何在稀疏表中选择具有非零值的列

2023-12-22

我有一个包含 2000 列的稀疏表,我想选择一些特定的行及其非零值。我该怎么做?

    id       name   e1   e2   e3   e4 . . e550 . . e1200 .   e1760. . e2000
    1      engine1   0   0    0    2322   1300               140       0
    2      engine2   0   0  1230   0        0        2100              0
    .
    .
    .
    998000


df[df.name==engine2 & ? ]
    id    name      e3       e1200
    2   engine2    1230       2100   

and

df[df.name==engine1 & ? ]

    id    name      e4       e550     e1760
    1   engine1    2322       1300      140

您可以过滤两次 - 通过掩码过滤第一行m1然后按列m2。 最后一次使用loc http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.loc.html:

m1 = (df['name'] == 'engine2')
m2 = (df[m1] != 0).all()

print (df.loc[m1,m2])
   id     name    e3  e1200
1   2  engine2  1230   2100
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas:如何在稀疏表中选择具有非零值的列 的相关文章

随机推荐