python - Pandas 过滤数据框以仅显示包含零的行

标签 python pandas

我一直在寻找,show only rows which contain zeros and also way to show rows没有零。问题是我有很多列,我希望能够将此方法应用于除“结果”列之外的所有列,而无需编写包含数百个名称的列表。

我对 isnull() 方法感到非常困惑,因为它只是用 bool 值替换所有值,对我来说看起来毫无用处。

附注您能否编写一段代码来执行相同的操作,但具有无限的值。 pandas 数据框中的 Inf。

非常感谢!

最佳答案

您可以使用 bool 索引,结合lociloc来选择所需的列,假设您有一个像这样的数据框

df = pd.DataFrame({'a':[0,0,1,1], 'b':[0,1,0,1],'c':[1,1,2,1],'d':[4,1,6,1]})
df

    a   b   c   d
0   0   0   1   4
1   0   1   1   1
2   1   0   2   6
3   1   1   1   1

并且您想要选择除 col a 之外具有大于零值的所有行,那么您可以使用以下命令:

df.loc[(df.iloc[:,1:]!=0).all(1)]

输出:

    a   b   c   d
1   0   1   1   1
3   1   1   1   1

当您想丢弃 col a 中所有带有零值和 res 的行时,请使用:

df.loc[(df.iloc[:,:1]!=0).all(1)]

输出:

    a   b   c   d
2   1   0   2   6
3   1   1   1   1

关于python - Pandas 过滤数据框以仅显示包含零的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59907956/

相关文章:

python - sqlalchemy 转储元数据到文件

python - 将 kwargs 传递给 re.sub()

python - 如何消除数据中的急剧跳跃?

python - 在 Pandas 中将两列文本与 NaN 结合起来

python - key 错误 : Key length exceeds index depth - pandas MultiIndex

python - 如何将 Parquet 文件读入 Pandas DataFrame?

python - Django模板不能循环defaultdict

python - Numpy:给定标量 condlist 的一维数组的 np.select

python - 使用 selenium 2(Python 绑定(bind))在 Web 浏览器中的任意位置单击

python - 如何使用时间点计算 Pandas 中的累积 groupby 计数?