我试着做这个条件来计算有多少次(单元格)的值小于300秒(5分钟),但是它返回了一个错误,这个条件是关于下面的一个DF,我从我的csv中提取:
df =
0
0 NaN
1 79.0
2 140.0
3 131.0
4 72.0
... ...
16341 349.0
16342 795.0
16343 787.0
16344 410.0
16345 1221.0
我试着这样说:
for key, value in data_df.items() :
df = data_df[key].fillna(0, inplace=False).astype(int)
if key <= 300 :
df_count = value.count( value.values() <= 300)
display(df_count)
但错误消息显示:
类型错误:“numpy.ndarray”对象不可调用
如何求解IF
语句以执行Display()
代码?
为更好的结果而编辑
我应该问这个之前,但我认为解决方案将是类似的IF
声明。
我需要使它在范围内,条件是计数范围内的每个细胞大约5到5分钟,直到我得到1小时完成,所以条件是:
- 0至300(5分钟)
- 300至600(5至10分钟)
- 600至900(10分钟至15分钟)
直到我完成一个小时,我试着:df_count300to600 = data_df[key].fillna(0).le( key > 300 && key< 600 )
这一点我该怎么解决呢?
1条答案
按热度按时间ix0qys7i1#
IIUC,您只需要:
输出示例:
5
工作原理
df[0].fillna(0).le(300)
创建布尔级数,sum
对True
计数: