在熊猫数据框中分组分隔的计数值

德拉杰

我有关注df

     A   B
0    1   10
1    2   20
2    NaN 5
3    3   1
4    NaN 2
5    NaN 3
6    1   10
7    2   50
8    Nan 80
9    3   5

由1-3的重复序列组成,这些序列以可变数量的NaN分隔。我想对1-3的每个序列进行分组,并获得这些序列中B列的最小值。

所需的输出类似:

     B_min
0    1
6    5

事先非常感谢

德拉杰

耶斯列尔

想法是首先删除缺失值的行DataFrame.dropna,然后使用GroupBy.cummin由比对等于Series创建的帮助器使用,最后将数据清理到一列ASeries.eqSeries.cumsumDataFrame

df = (df.dropna(subset=['A'])
       .groupby(df['A'].eq(1).cumsum())['B']
       .min()
       .reset_index(drop=True)
       .to_frame(name='B_min'))
print (df)
   B_min
0      1
1      5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章