下面是一个示例代码,演示如何按照日期进行分组,并根据计算创建新的列:
import pandas as pd
# 创建示例数据
data = {'日期': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03'],
'数值': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
# 将日期列转换为日期类型
df['日期'] = pd.to_datetime(df['日期'])
# 按照日期进行分组,并根据计算创建新的列
df['总和'] = df.groupby('日期')['数值'].transform('sum')
df['平均值'] = df.groupby('日期')['数值'].transform('mean')
# 打印结果
print(df)
输出结果为:
日期 数值 总和 平均值
0 2021-01-01 10 30 15.0
1 2021-01-01 20 30 15.0
2 2021-01-02 30 70 35.0
3 2021-01-02 40 70 35.0
4 2021-01-03 50 50 50.0
在上面的示例中,首先将日期列转换为日期类型,然后使用groupby
方法按照日期进行分组。接下来,通过transform
方法对数值列进行求和和求平均值的计算,并将结果保存到新的列中。最后,打印出结果。