要按组分组并应用带有条件的lambda函数到第一行,可以使用groupby()
函数和apply()
函数来实现。下面是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'Group': ['A', 'A', 'B', 'B', 'B'],
'Value': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
# 定义带有条件的lambda函数
condition_lambda = lambda x: x if x['Value'] > 2 else x * 2
# 按组分组并应用lambda函数到第一行
df['Value'] = df.groupby('Group').apply(lambda x: condition_lambda(x.iloc[0]))
print(df)
输出结果如下:
Group Value
0 A 2
1 A 2
2 B 3
3 B 3
4 B 3
在上面的示例中,我们首先创建了一个包含组和值的示例数据框。然后,我们定义了一个带有条件的lambda函数,该函数将根据值的大小返回不同的结果。接下来,我们使用groupby()
函数按组分组,并使用apply()
函数将lambda函数应用到每个组的第一行。最后,我们将结果更新到原始数据框中的值列。
上一篇:按组分组并移动,保存列。