我想重新采样一个小的Pandas DataFrame,希望您能对我有所帮助:)
由于它是机密信息,因此我无法向您显示,但我可以向您介绍它的简单版本。
它有4列:
-日期(YYYY-MM-DD格式)
-国家
-金额
-频率
这就是我想要做的:
根据行的不同,频率是YEARLY或MONTHLY 如果恰好是每月一次,则无需执行任何操作。
但是如果是每年,我想将其更改为MONTHLY并插入11个新行,以便在考虑的12个行(现有的1个和11个新的)中,国家/地区将保持不变(国家名称相同)重复12次),金额将为amount / 12(也重复12次,您会得到),并且每行的日期将增加1个月。
我真的希望有人可以帮助我!
预先感谢
亚历克斯
编辑:
我已经使用以下方式将日期列更改为索引
df.set_index(“ Date”,inplace = True)
但是,我真的不知道如何使用重采样功能实现我的目的...
答案 0 :(得分:0)
首先确保您的数据框的索引类型为DateTimeIndex
。
然后使用resample
函数对数据帧进行上采样(较高频率)或下采样(较低频率)。然后应用聚合器(例如sum
)在新的采样频率上聚合值。
在此处查看resample
文档:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.resample.html