【问题标题】:Dataframe countif function issue [duplicate]数据帧countif函数问题[重复]
【发布时间】:2018-01-22 21:25:41
【问题描述】:
Return
0.0000
-0.0116
0.0000
0.0100

我有一个上述格式的数据框,我正在尝试使用以下代码计算 >0 和

print ("Positive Returns:")
print((df['Return']>0.0).count())

print ("Negative Returns:")
print((df['Return']<0.0).count())

但是两者都返回 5119,这是我的整个数据帧长度

计数不正确..有人可以建议吗?

谢谢

*不是真正的重复,因为我不要求真/假值,例如它可以是 >0.1

【问题讨论】:

  • df['Return'].gt(0.0).sum() 代替。
  • count 将为您提供非空值的数量。 sum 只计算那些为真的元素。

标签: pandas dataframe


【解决方案1】:

sum 用于计数布尔值Trues,其处理方式类似于1s:

print((df['Return']>0.0).sum())
print((df['Return']<0.0).sum())

【讨论】:

  • 请问一个问题,averageif >0.0 怎么用?
  • 当然,你需要print((df.loc[df['Return']&gt;0.0, 'Return']).mean())
  • 非常感谢您的帮助 Jezrael
  • @JNg - 欢迎您!
猜你喜欢
  • 1970-01-01
  • 2015-09-07
  • 2012-10-13
  • 2020-08-29
  • 2019-12-10
  • 2017-07-19
  • 1970-01-01
  • 2020-08-23
  • 2012-10-26
相关资源
最近更新 更多