2024-10-17 16:23:27 发布
网友
在下面的数据框中:
va 0 35 1 12 2 24 3 25 4 26 5 19 6 14 7 22 8 35 9 35 10 29 11 13 12 20 13 10 14 10 15 23 16 11 17 30 18 26 19 32 20 11
我希望保留va列值超过30的行数的运行计数。我在考虑使用value_counts,但这似乎不对
va
value_counts
要获取行数,可以执行以下操作:
your_counter = len(your_df[your_df['va'] > 30])
('your'u df'显然应该替换为数据帧的名称)
代码所做的是创建一个新的数据帧,只包含'va'值超过30的行。然后“len”函数计算行数。在
有两种解决方案-计数重置为列new,另一种解决方案没有重置为new1:
new
new1
a = df['va'].gt(30) b = a.cumsum() df['new'] = b-b.mask(a).ffill().fillna(0).astype(int) df['new1'] = b.where(a, 0) print (df) va new new1 0 35 1 1 1 12 0 0 2 24 0 0 3 25 0 0 4 26 0 0 5 19 0 0 6 14 0 0 7 22 0 0 8 35 1 2 9 35 2 3 10 29 0 0 11 13 0 0 12 20 0 0 13 10 0 0 14 10 0 0 15 23 0 0 16 11 0 0 17 30 0 0 18 26 0 0 19 32 1 4 20 11 0 0
要获取行数,可以执行以下操作:
('your'u df'显然应该替换为数据帧的名称)
代码所做的是创建一个新的数据帧,只包含'va'值超过30的行。然后“len”函数计算行数。在
有两种解决方案-计数重置为列
new
,另一种解决方案没有重置为new1
:相关问题 更多 >
编程相关推荐