如何重新采样(上采样)我的Pandas Dataframe?

时间:2018-11-12 15:57:09

标签: pandas dataframe

我想重新采样一个小的Pandas DataFrame,希望您能对我有所帮助:)

由于它是机密信息,因此我无法向您显示,但我可以向您介绍它的简单版本。

它有4列:

-日期(YYYY-MM-DD格式)

-国家

-金额

-频率

这就是我想要做的:

根据行的不同,频率是YEARLY或MONTHLY 如果恰好是每月一次,则无需执行任何操作。

但是如果是每年,我想将其更改为MONTHLY并插入11个新行,以便在考虑的12个行(现有的1个和11个新的)中,国家/地区将保持不变(国家名称相同)重复12次),金额将为amount / 12(也重复12次,您会得到),并且每行的日期将增加1个月。

我真的希望有人可以帮助我!

预先感谢

亚历克斯

编辑:

我已经使用以下方式将日期列更改为索引

df.set_index(“ Date”,inplace = True)

但是,我真的不知道如何使用重采样功能实现我的目的...

1 个答案:

答案 0 :(得分:0)

首先确保您的数据框的索引类型为DateTimeIndex

然后使用resample函数对数据帧进行上采样(较高频率)或下采样(较低频率)。然后应用聚合器(例如sum)在新的采样频率上聚合值。

在此处查看resample文档:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.resample.html