我有以下数据:
>>> dfStd1.show()
+---+----+------+-------+-----------------------------------------------+------+
| id|Name|Seq_Id|Carrier|CASE WHEN (NOT (Seq_Id = 1)) THEN 0 ELSE 12 END|string|
+---+----+------+-------+-----------------------------------------------+------+
| 0| 0| 0| 2| 0| 0|
+---+----+------+-------+-----------------------------------------------+------+
所以,这里我需要值大于0的列的名称。给,例如我需要 Carrier
列我需要在列表中存储这样的值。我尝试了下面的代码,但不起作用,也参考了许多链接,但没有运气:
>>> dfStd1[(dfStd1 > 0).any(axis=1)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '>' not supported between instances of 'DataFrame' and 'int'
它抛出如上所述的错误。我甚至试着把它转换成Pandas,然后过滤掉,但没有结果。
1条答案
按热度按时间pkwftd7m1#
首先需要数字列:
然后,可以使用以下公式计算列中大于0的元素数:
最后: