如何在 pandas 数据框选择最小值也保存我的字符串数据

How to choose min value at pandas dataframe also save my string data

我有一个pandas数据框,列是字符串和值,如果我使用'groupby',我会丢失我的数据,如何编写我的代码来保存我的数据?

print(df)

tconst title bool   id  pair
t01    Blow  True   1   1
t02    Blow  False  1   4
t03    Fast  TRUE   2   2
t04    Fast  FALSE  2   2
t05    Storm True   3   9  

如果遇到相同的 'id' ,我想在 'pair'(ex:id=1) 处选择最小值,如果遇到相同的 'id' 但 'pair' 值为同样,我想保存所有这些(例如:id=2)。

out:
tconst title  bool   id  pair
t01    Blow   True   1   1
t03    Fast   TRUE   2   2
t04    Fast   FALSE  2   2
t05    Storm  True   3   9  

使用 groupbytransformmin 来查找一组中的最低值,然后创建一个布尔系列来进行布尔索引:

df[df['pair'] == df.groupby('id')['pair'].transform('min')]

输出:

  tconst  title   bool  id  pair
0    t01   Blow   True   1     1
2    t03   Fast   True   2     2
3    t04   Fast  False   2     2
4    t05  Storm   True   3     9