在数据处理和分析中,经常需要将数据按照某些特定的组进行计算,并将计算结果作为新的列添加到原始数据框中。以下是将按组计算的列添加到数据框中,并保留行的初始顺序的方法:
sum()
、mean()
、max()
、min()
、count()
等。假设我们有一个数据框df
,包含以下列:'Group'
(分组依据)、'Value'
(需要计算的值)。我们希望按'Group'
列计算每组的平均值,并将结果作为新列'Group_Avg'
添加到数据框中。
import pandas as pd
# 创建示例数据框
data = {
'Group': ['A', 'A', 'B', 'B', 'A', 'C'],
'Value': [10, 20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)
# 按'Group'列计算平均值,并将结果作为新列添加到数据框中
df['Group_Avg'] = df.groupby('Group')['Value'].transform('mean')
print(df)
Group Value Group_Avg
0 A 10 26.666667
1 A 20 26.666667
2 B 30 35.000000
3 B 40 35.000000
4 A 50 26.666667
5 C 60 60.000000
groupby('Group')
:将数据按'Group'
列分组。['Value'].transform('mean')
:对每个分组内的'Value'
列计算平均值,并将结果广播回原始数据框的相应位置。df['Group_Avg']
:将计算结果作为新列添加到数据框中。astype()
函数转换数据类型。dropna()
函数删除包含缺失值的行,或在聚合函数中使用fillna()
填充缺失值。Categorical
类型存储分组列。通过以上方法,可以有效地将按组计算的列添加到数据框中,并保留行的初始顺序。
没有搜到相关的文章