◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
在 pandas 中如何实现 countif 函数?
您想要统计每行中比指定指标值大的列的个数。此问题可以轻松使用 excel 中的 countif 函数解决。但是,在 pandas 中,您可能会遇到像您描述的困难。
问题
您的代码如下:
np.where(data[data.columns[1:]] > data['指标']).count(1) (data[data.columns[1:]] > data['指标']).sum()
但这些代码返回 0 的结果。这是因为:
解决方案
要实现 countif 函数,您可以使用 apply() 方法逐行应用 lambda 函数。代码如下:
data['countif'] = data.apply(lambda x : sum(data['X1':'X4'] > data['指标']),axis =1)
现在,data['countif'] 列包含每行中大于指标值的列的个数。
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。