以下是一个示例代码,用于按组进行填补空白,其中起始日期不相等:
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。
最后,将填补后的结果打印出来。
上一篇:按组进行数据分组并更改数据
下一篇:按组进行条件子集