可以使用pandas库进行处理。具体步骤如下:
完整代码示例如下:
import pandas as pd
data = {'group': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'], 'value': [-1, -2, -3, 1, -4, -5, 2, -6, -7]} df = pd.DataFrame(data)
grouped = df.groupby('group') neg_count = grouped['value'].apply(lambda x: (x < 0).cumsum())
has_pos = grouped['value'].apply(lambda x: (x > 0).any())
max_neg_count = neg_count.where(has_pos).bfill().astype(int)
df['neg_count_stop_at_pos'] = max_neg_count
print(df)
上一篇:按组计算非零观察数量
下一篇:按组计算观测数量