根据其他数据帧的比较,创建一个包含列的Pandas数据帧

2024-06-09 15:55:17 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有数据帧:

df1:
a b
3 0
4 5
1 20

df2:
c d
2 7
5 3
0 9

我想要2列的df3。每个都是这样计算的(伪代码):

^{pr2}$

df1中的所有列必须分别与df2中的列进行比较。在

最后我想得到:

df3:
e f
1 0
0 1
1 1

我以为df3=df1.gt(df2)可以做到这一点,但它没有做到,它给了我4列。我不想使用lambdas,因为我的实际数据有将近500000行x100列。 谢谢。在


Tags: 数据代码gtdf1df2lambdaspr2df3
1条回答
网友
1楼 · 发布于 2024-06-09 15:55:17

两个数据帧中的列名不匹配,如果只想比较值,可以使用.values访问numpy数组进行比较(这假设两个数据帧具有相同的维度,并且无论维度名称/索引如何,您都希望进行元素级比较):

pd.DataFrame(df1.values > df2.values, columns=list("ef")).astype(int)

enter image description here

相关问题 更多 >