【问题标题】:How to use a loop to filter a dataframe, calculate and create a new table in Python?如何使用循环过滤数据框,在 Python 中计算和创建新表?
【发布时间】:2021-08-20 03:25:17
【问题描述】:

我有一个包含多行值的数据框。我需要根据列的值(在本例中为索引列)过滤这些行,执行一系列计算,然后将计算值返回到新表。最后,我需要一个包含所有计算值的合并表。

例子:

  1. 我有以下数据框:

  1. 首先我需要过滤列索引中所有为 1 的行
  2. 仅使用这些值执行一些计算
  3. 将计算值存储到新表中
  4. 对列索引中为 2 的行重复该过程。

知道我该怎么做吗?

【问题讨论】:

  • 你能粘贴你的代码吗?
  • 您要执行哪些计算?
  • 这是一个预测计算。由于每组项目都与一个产品相关,我需要分别分析它们,然后存储到同一个表中。 ----- final_model = ExponentialSmoothing(df['Values'],trend='mul',seasonal='mul',seasonal_periods=12).fit() forecast_predictions = final_model.forecast(steps=15)

标签: python pandas dataframe


【解决方案1】:

没有实际数据和代码我只能猜测,但看起来你需要groupby+apply。你可以试试:

df.groupby('Index')['Values'].apply(lambda s: ExponentialSmoothing(s,trend='mul',seasonal='mul',seasonal_periods=12).fit().forecast(steps=15))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-16
    • 2022-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    相关资源
    最近更新 更多