【问题标题】:Computing rolling median with a fixed start date in pandas在熊猫中计算具有固定开始日期的滚动中位数
【发布时间】:2019-01-22 14:24:12
【问题描述】:

我有一个带有以下 .head() 的 pandas DataFrame:

       EC       Date       PE
0  C00529 2000-01-31  21.8799
1  C00529 2000-02-29  24.4603
2  C00529 2000-03-31  17.2053
3  C00529 2000-04-30  17.5083
4  C00529 2000-05-31  18.0368

EC 是公司的 ID。我希望每家公司都有一个中位数为“PE”的列,但从最小日期(“日期”)开始滚动。知道如何在 pandas 中执行此操作吗?

谢谢!

【问题讨论】:

  • 日期是某个日期时间对象吗?或者一个表示某个时间戳的字符串,
  • 是的,它是一个日期时间对象。

标签: python pandas


【解决方案1】:

您可以使用df.expanding 方法(see here)。假设您的 DataFrame 已排序:

df.expanding()['PE'].median()

假设它没有排序:

df.loc[df['Date'].sort_values().index].expanding()['PE'].median()

【讨论】:

    猜你喜欢
    • 2023-01-31
    • 2019-04-26
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多