gpt4 book ai didi

python - 对多个 DataFrame 执行操作的最佳方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 01:23:38 25 4
gpt4 key购买 nike

假设我有三个 DataFrame:

import pandas as pd
import numpy as np

cols = ['A','B','C']
index = [1,2,3,4,5]
np.random.seed(42)

apple = pd.DataFrame(np.random.randn(5,3), index=index, columns=cols)
orange = pd.DataFrame(np.random.randn(5,3), index=index, columns=cols)
banana = pd.DataFrame(np.random.randn(5,3), index=index, columns=cols)

In [50]: apple
Out[50]:
A B C
1 0.496714 -0.138264 0.647689
2 1.523030 -0.234153 -0.234137
3 1.579213 0.767435 -0.469474
4 0.542560 -0.463418 -0.465730
5 0.241962 -1.913280 -1.724918

In [51]: orange
Out[51]:
A B C
1 -0.562288 -1.012831 0.314247
2 -0.908024 -1.412304 1.465649
3 -0.225776 0.067528 -1.424748
4 -0.544383 0.110923 -1.150994
5 0.375698 -0.600639 -0.291694

In [52]: banana
Out[52]:
A B C
1 -0.601707 1.852278 -0.013497
2 -1.057711 0.822545 -1.220844
3 0.208864 -1.959670 -1.328186
4 0.196861 0.738467 0.171368
5 -0.115648 -0.301104 -1.478522

用相同的列和索引创建一个新数据框的最好/最快/最简单的方法是什么,但每个列和索引的最大值来自苹果、橙子和香蕉?即,对于 [1,A],新的数据帧值将为 0.496714,对于 [1,B],该值为 1.852278,等等。谢谢!

最佳答案

我认为这样的事情应该很快:

np.maximum(np.maximum(orange, apple), banana)

使用 numpy.maximum() :

Element-wise maximum of array elements.

正如@Jeff 在评论中所建议的那样,一般来说它是:

reduce(np.maximum, [orange,apple,banana])

关于python - 对多个 DataFrame 执行操作的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19573275/

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