【问题标题】:Pandas: New_Column = Column_A - Column_B, values in New_Column are the values of the first cell of New_Column. need fixPandas:New_Column = Column_A - Column_B,New_Column 中的值是 New_Column 的第一个单元格的值。需要修复
【发布时间】:2021-09-06 19:56:32
【问题描述】:

我遇到了一个让我感到困惑的 pandas 减法问题。 我正在尝试用另一列减去一列。我使用的数据是arch_model和ARIMAresult的残差。

Data as follows

这就是问题所在。当我执行熊猫减法时,我的整个列被更改为单个值(第一行的值),而不是做它应该做的事情。

residuals.fitted_garch = residuals.arma_resid - residuals.garch_resid

output

            arma_resid  garch_resid  fitted_garch
Gmt time                                         
2010-01-02    0.000012    -0.000004      0.000016
2010-01-03   -0.004926    -0.004943      0.000016
2010-01-04   -0.000392    -0.000408      0.000016
2010-01-05   -0.001888    -0.001905      0.000016
2010-01-06    0.002209     0.002193      0.000016
...                ...          ...           ...
2019-12-27   -0.000043    -0.000059      0.000016
2019-12-28    0.000007    -0.000009      0.000016
2019-12-29   -0.002366    -0.002382      0.000016
2019-12-30   -0.003173    -0.003189      0.000016
2019-12-31   -0.000101    -0.000117      0.000016

Both residuals are pandas series

如果您能解释发生了什么并提供有关修复的建议,我们将不胜感激。

Follow up - Code, dataframe, and result

从上面的截图我们可以看出,该列所有行的结果都是第一行单元格的值。

【问题讨论】:

  • 您好,您是否正确指定了“axis”参数?在此处查看文档:pandas.pydata.org/docs/reference/api/…
  • 如果您使用纯文本代码作为示例更新您的帖子,我们将不胜感激:)
  • 我上传了一个显示问题的屏幕截图。问题是列值是第一个单元格的结果。这不是我打算让代码做的事情。我正在尝试获取df.column.C = df.column.A-df.column.B

标签: python pandas series arima arch


【解决方案1】:

查看您发布的图片,我认为问题可能来自迭代数据。通常,当从另一列中减去一列时,您可以一次减去整列,pandas 会知道您在做向量减法。

residuals['fitted_garch'] = residuals['arma_resid'] - residuals['garch_resid']

这里您也不需要使用 np.nan 初始化列,只需在适当的位置创建新的“garch_resid”列。

【讨论】:

  • residuals.fitted_garch = residuals.arma_resid - residuals.garch_resid 得到相同的输出,其中列中的所有值都是第一个单元格的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-07
  • 2020-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-11
相关资源
最近更新 更多