gpt4 book ai didi

python - 比较 pandas 中两个数据框中的元素

转载 作者:行者123 更新时间:2023-11-30 23:02:15 25 4
gpt4 key购买 nike

我正在尝试使用 if 语句比较两个数据帧,输出是一个新的数据帧。我想比较数据帧 A 和 B,对于 A 中大于 B 中相应元素的每个元素,返回 1,否则返回 0。

A = 5  3  2
4 7 1
1 9 5

B = 1 2 9
2 5 6
7 2 3

返回:

C = 1  1  0
1 1 0
0 1 1

最佳答案

您可以使用astype :

#create mask
print (A > B)

0 1 2
0 True True False
1 True True False
2 False True True

print (A > B).astype(int)

0 1 2
0 1 1 0
1 1 1 0
2 0 1 1

下一个解决方案是使用gt ,但它是相同的:

print (A.gt(B)).astype(int)

0 1 2
0 1 1 0
1 1 1 0
2 0 1 1

In [13]: %timeit (A > B).astype(int)
The slowest run took 4.71 times longer than the fastest. This could mean that an intermediate result is being cached
1000 loops, best of 3: 908 µs per loop

In [14]: %timeit (A.gt(B)).astype(int)
The slowest run took 5.16 times longer than the fastest. This could mean that an intermediate result is being cached
1000 loops, best of 3: 901 µs per loop

关于python - 比较 pandas 中两个数据框中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34595601/

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