【发布时间】:2020-03-12 10:37:16
【问题描述】:
我有一个 pandas 数据框,其中包含许多列,其中一些是数字的,而另一些是分类的。
我想计算 pandas 数据框中的否定条目数。一种方法是找出哪些列是数字的,对这些列进行子集化,然后使用简单的语法来计算具有负值的条目数,例如(df < 0).sum()
相反,我尝试使用包含条件的 apply 和 lambda 函数的语法,但我收到一条消息,指出我的语法错误。您能否向我解释一下为什么以及如何实现这个想法?
data.apply(lambda x: (if (x.dtype == 'int16' or x.dtype == 'float16'): (x<0).sum())).sum()
File "<ipython-input-75-f329bf4e8cdd>", line 1
data.apply(lambda x: (if (x.dtype == 'int16' or x.dtype == 'float16'): (x<0).sum())).sum()
^
SyntaxError: invalid syntax
【问题讨论】:
标签: python-3.x pandas if-statement lambda apply