我想在dataframe中填充数据,它由如下所示的每月数据组成
M A B C
2020-1 2 30 5
2020-2 8 50 9 如何使用pandas api轻松做到这一点?
M A B C
2020-1-01 2 30 5
2020-1-08 3 35 6
2020-1-15 5 40 7
2020-1-22 7 45 8
2020-2-01 8 50 9 提前感谢
发布于 2020-10-22 16:48:20
对周末使用DataFrame.resample by months,对周末使用ffill,对正向填充值使用ffill,然后使用Grouper和GroupBy.cumcount、multiple进行一些处理,并将值添加到列:
df['M'] = pd.to_datetime(df['M'])
df = df.set_index('M').resample('W').ffill()
s = df.groupby(pd.Grouper(freq='MS')).cumcount().to_numpy()
df['B'] = df['B'].add(df.C.mul(s))
df[['A','C']] = df[['A','C']].add(s, axis=0)
df['B'] = df['B']
print (df)
A B C
M
2020-01-05 2 30 5
2020-01-12 3 35 6
2020-01-19 4 40 7
2020-01-26 5 45 8
2020-02-02 8 50 9https://stackoverflow.com/questions/64478439
复制相似问题