首页 > 解决方案 > 如何重新采样(上采样)我的 Pandas 数据框?

问题描述

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

我不能给你看,因为它是机密的,但我可以向你描述一个更简单的版本。

它有 4 列:

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

-国家

-数量

-频率

所以这就是我想做的:

根据行,频率可以是每年或每月如果恰好是每月,则无需执行任何操作。

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

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

提前致谢,

亚历克斯

编辑:

我已经使用将日期列更改为索引

df.set_index("日期",inplace=True)

但是,我真的不知道如何将重采样功能用于我的目的......

标签: pandasdataframe

解决方案


首先确保您的数据框具有 type 的索引DateTimeIndex

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

请参阅resample此处的文档:https ://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.resample.html


推荐阅读