gpt4 book ai didi

python - pandas.DataFrame.rolling 不适用于巨大的花车

转载 作者:太空狗 更新时间:2023-10-30 00:16:11 26 4
gpt4 key购买 nike

当使用接近无穷大的 float 时, Pandas 滚动出现错误。我在这里展示一个例子:

import pandas as pd
series = pd.Series(1.,index = pd.date_range('2015-01-01', periods=6))
series[series.index[2]] = 1e19
series
2015-01-01 1.000000e+00
2015-01-02 1.000000e+00
2015-01-03 1.000000e+19
2015-01-04 1.000000e+00
2015-01-05 1.000000e+00
2015-01-06 1.000000e+00
Freq: D, dtype: float64
series.rolling('2D', closed = 'left').mean()
2015-01-01 NaN
2015-01-02 1.000000e+00
2015-01-03 1.000000e+00
2015-01-04 5.000000e+18
2015-01-05 5.000000e+18
2015-01-06 5.000000e-01
Freq: D, dtype: float64

最后一位的答案应该是1!但它是0.5。为什么在使用大数字时滚动会变得疯狂?具有较小 float 的相同示例:

series[series.index[2]] = 1e9
series.rolling('2D', closed = 'left').mean()
2015-01-01 NaN
2015-01-02 1.0
2015-01-03 1.0
2015-01-04 500000000.5
2015-01-05 500000000.5
2015-01-06 1.0
Freq: D, dtype: float64

最佳答案

问题不在于 Pandas 。我在 R 中用 rollmean 函数尝试了同样的事情,它给出了与 pandas 完全相同的结果。它不适用于 1e16 及以上的值。我认为这与系统处理 float 的方式有关。

关于python - pandas.DataFrame.rolling 不适用于巨大的花车,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46690146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com