输入
我有一个带有文本、字符长度和“x”值的输入数据框。
x text len flag
0 1 hi 2 1
1 1 hello 5 0
2 1 how 3 1
3 2 are 3 1
4 2 you? 4 1
5 2 kiddo 5 1
我要按x分组,并获取最短字符长度的文本,其中标志为1。
输出
x text len select
0 1 hi 2 hi
1 1 hello 5 nan
2 1 how 3 nan
3 2 are 3 are
4 2 you? 4 nan
5 2 kiddo 5 nan
我尝试分组并获取最小值,但是如何获取存在最小值的文本?我不想用Apply。
df[df.flag == 1].groupby('x')['len'].transform('min')
我会得到最小字符长度值,但不会得到最小字符长度的文本值。