gpt4 book ai didi

python - 如何合并 Pandas 中的两个数据框以替换nan

转载 作者:太空狗 更新时间:2023-10-29 20:20:08 24 4
gpt4 key购买 nike

我想在 Pandas 中这样做:

我有 2 个数据框,A 和 B,我只想用 B 值替换 A 的 NaN。

A                                                
2014-04-17 12:59:00 146.06250 146.0625 145.93750 145.93750
2014-04-17 13:00:00 145.90625 145.9375 145.87500 145.90625
2014-04-17 13:01:00 145.90625 NaN 145.90625 NaN
2014-04-17 13:02:00 NaN NaN 145.93750 145.96875

B
2014-04-17 12:59:00 146 2/32 146 2/32 145 30/32 145 30/32
2014-04-17 13:00:00 145 29/32 145 30/32 145 28/32 145 29/32
2014-04-17 13:01:00 145 29/32 146 145 29/32 147
2014-04-17 13:02:00 146 146 145 30/32 145 31/32

Result:
2014-04-17 12:59:00 146.06250 146.0625 145.93750 145.93750
2014-04-17 13:00:00 145.90625 145.9375 145.87500 145.90625
2014-04-17 13:01:00 145.90625 146 145.90625 147
2014-04-17 13:02:00 146 146 145.93750 145.96875

最佳答案

官方提倡的方法是 A.combine_first(B)。更多信息请参阅 official documentation .

但是,使用来自 A.fillna(B) 的大型数据库(使用 25000 个元素执行的测试),它的性能大大优于:

In[891]: %timeit df.fillna(df2)
1000 loops, best of 3: 333 µs per loop
In[892]: %timeit df.combine_first(df2)
100 loops, best of 3: 2.15 ms per loop
In[894]: (df.fillna(df2) == df.combine_first(df2)).all().all()
Out[890]: True

关于python - 如何合并 Pandas 中的两个数据框以替换nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25095971/

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