gpt4 book ai didi

python - 填充 Pandas 中缺失的索引

转载 作者:太空狗 更新时间:2023-10-29 19:35:57 28 4
gpt4 key购买 nike

我有如下数据:

import pandas as pd
from datetime import datetime

x = pd.Series([1, 2, 4], [datetime(2013,11,1), datetime(2013,11, 2), datetime(2013, 11, 4)])

11 月 3 日缺失的索引对应一个零值,我希望它看起来像这样:

y = pd.Series([1,2,0,4], pd.date_range('2013-11-01', periods = 4))

将 x 转换为 y 的最佳方法是什么?我试过了

y = pd.Series(x, pd.date_range('2013-11-1', periods = 4)).fillna(0)

这有时会引发一个我无法解释的索引错误(索引长度与值不匹配,即使索引和数据具有相同的长度。有没有更好的方法来做到这一点?

最佳答案

您可以使用 pandas.Series.resample()为此:

>>> x.resample('D').fillna(0)
2013-11-01 1
2013-11-02 2
2013-11-03 0
2013-11-04 4

resample() 函数中有fill_method 参数,不知道是否可以用它代替NaN重采样。但看起来你可以使用 how 方法来处理它,比如:

>>> x.resample('D', how=lambda x: x.mean() if len(x) > 0 else 0)
2013-11-01 1
2013-11-02 2
2013-11-03 0
2013-11-04 4

不知道哪种方法是首选。另请查看@AndyHayden 的回答——使用 fill_value=0reindex() 可能是最有效的方法,但您必须自己进行测试。

关于python - 填充 Pandas 中缺失的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20392265/

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