以下是一个示例代码,用于按组进行填补空白,其中起始日期不相等:
import pandas as pd
# 创建示例数据集
df = pd.DataFrame({'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
'Date': ['2021-01-01', '2021-01-02', '2021-01-04', '2021-01-02', '2021-01-03', '2021-01-05'],
'Value': [1, 2, 3, 4, 5, 6]})
# 将日期列转换为日期时间类型
df['Date'] = pd.to_datetime(df['Date'])
# 按组进行填补空白
df_filled = df.groupby('Group').apply(lambda x: x.set_index('Date').resample('D').asfreq()).reset_index()
# 打印填补后的结果
print(df_filled)
这段代码首先利用pandas
库创建了一个示例数据集df
,包含三列:Group
表示组别,Date
表示日期,Value
表示数值。
然后将Date
列转换为日期时间类型,以便进行日期操作。
接下来使用groupby
对数据进行分组,并使用apply
函数在每个组上进行操作。lambda
函数将每个组按照Date
列设置为索引,并使用resample
函数以每天的频率重新采样数据,asfreq
函数用于填补空白日期。
最后,使用reset_index
函数将索引还原为列,并将填补后的结果赋值给df_filled
。
最后,将填补后的结果打印出来。
上一篇:按组进行数据分组并更改数据
下一篇:按组进行条件子集