要按照组将函数应用于Pandas数据帧中的每一行,可以使用apply()
函数结合groupby()
函数。下面是一个示例代码:
import pandas as pd
# 创建一个示例数据帧
data = {'Group': ['A', 'A', 'B', 'B', 'B', 'A'],
'Value': [1, 2, 3, 4, 5, 6]}
df = pd.DataFrame(data)
# 定义要应用的函数
def multiply_values(row):
return row['Value'] * 2
# 按照组将函数应用于每一行
df['NewValue'] = df.groupby('Group').apply(multiply_values)
# 输出结果
print(df)
输出结果:
Group Value NewValue
0 A 1 2
1 A 2 4
2 B 3 6
3 B 4 8
4 B 5 10
5 A 6 12
在上面的示例中,我们首先定义了一个函数multiply_values
,该函数将每行的Value
列乘以2。然后,我们使用groupby()
函数按照Group
列对数据帧进行分组,并使用apply()
函数将函数应用于每个组的每一行。最后,我们将结果存储在一个新的NewValue
列中。
下一篇:按照组进行分组并合并行