gpt4 book ai didi

python - 从最后可用数据创建 DataFrame 的最快方法

转载 作者:行者123 更新时间:2023-11-28 22:37:15 24 4
gpt4 key购买 nike

我在论坛中找不到这个问题的答案,因为很难将其放入关键字中。感谢任何关键字建议,以便我可以使这个问题更容易理解,以便其他人可以从中受益。

最近的question我发现并没有真正回答我的问题。

我的问题如下:

我有一个名为 ref 的 DataFrame,还有一个名为 pub 的日期列表。 ref 有索引日期,但这些日期与 pub 中的日期不同(会有一些匹配值)。我想创建一个新的 DataFrame,其中包含 pub 中的所有日期,但用 ref 中的“最后可用数据”填充它。

因此,假设 ref 是:

Dat          col1 col2 
2015-01-01 5 4
2015-01-02 6 7
2015-01-05 8 9

pub

2015-01-01
2015-01-04
2015-01-06

我想像这样创建一个 DataFrame:

Dat          col1 col2 
2015-01-01 5 4
2015-01-04 6 7
2015-01-06 8 9

对于这个问题,性能是一个问题。所以我正在寻找最快/最快的方法。

提前致谢。

最佳答案

您可以进行外部合并,将新索引设置为 Dat,对其进行排序,前向填充,然后根据 pub 中的日期重新编制索引。

dates = ['2015-01-01', '2015-01-04', '2015-01-06']
pub = pd.DataFrame([dt.datetime.strptime(ts, '%Y-%m-%d').date() for ts in dates],
columns=['Dat'])

>>> (ref
.merge(pub, on='Dat', how='outer')
.set_index('Dat')
.sort_index()
.ffill()
.reindex(pub.Dat))
col1 col2
Dat
2015-01-01 5 4
2015-01-04 6 7
2015-01-06 8 9

关于python - 从最后可用数据创建 DataFrame 的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36703279/

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