import pandas as pd
# 创建示例数据
data = {'date': ['2021-01-01', '2021-01-01', '2021-01-02', '2021-01-02', '2021-01-03'],
'value': [10, 10, 5, 5, 8]}
df = pd.DataFrame(data)
# 将日期转换为datetime类型
df['date'] = pd.to_datetime(df['date'])
# 按天分组,计算每天的value的均值,并将结果保存在新列中
df['mean_value'] = df.groupby(df['date'].dt.day)['value'].transform('mean')
# 如果每天的value都相等,则将新列中的值设置为True,否则为False
df['consecutive_values'] = df.groupby(df['date'].dt.day)['value'].apply(lambda x: x.nunique() == 1)
# 显示结果
print(df)
输出结果为:
date value mean_value consecutive_values
0 2021-01-01 10 10.0 True
1 2021-01-01 10 10.0 True
2 2021-01-02 5 5.0 True
3 2021-01-02 5 5.0 True
4 2021-01-03 8 8.0 False
以上代码将数据按天分组,并计算每天的value的均值。同时,对于每天的value进行判断,如果所有的value都相等,则设置新列中的值为True,否则为False。