我有关注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
创建的帮助器使用,最后将数据清理到一列:A
Series.eq
Series.cumsum
DataFrame
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] 删除。
我来说两句