pandas - 如何将每月数据填充到熊猫中的每周数据?
问题描述
我想在数据框中填充数据,该数据由每月数据组成,如下所示
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
提前致谢
解决方案
DataFrame.resample
按月使用W
周末和前向填充值,然后使用andffill
进行一些处理,并将值添加到列:Grouper
GroupBy.cumcount
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 9
推荐阅读
- java - 如何获得有和没有偏移的日期时间?
- java - 将数据加载到 Java ExecutorService 的线程中
- html - WooCommerce:在没有描述的情况下显示产品的简码?
- ide - 哪个更适合学习 IDE 或在线编译器?
- xamarin.forms - Xamarin:获取一个手势触摸是否在某个元素内
- c - Linux内核和GNU C库有什么关系?
- reactjs - 有没有办法将 react-chartjs-2 图表转换为 pdf?
- apache-kafka - 将kafka MSK连接到mongodb
- python - 使用python在图像中识别模式?
- java - 如何在视图中显示对话框?