2024-09-27 09:25:49 发布
网友
假设我有数据帧:
df1: a b 3 0 4 5 1 20 df2: c d 2 7 5 3 0 9
我想要2列的df3。每个都是这样计算的(伪代码):
df1中的所有列必须分别与df2中的列进行比较。在
最后我想得到:
df3: e f 1 0 0 1 1 1
我以为df3=df1.gt(df2)可以做到这一点,但它没有做到,它给了我4列。我不想使用lambdas,因为我的实际数据有将近500000行x100列。 谢谢。在
两个数据帧中的列名不匹配,如果只想比较值,可以使用.values访问numpy数组进行比较(这假设两个数据帧具有相同的维度,并且无论维度名称/索引如何,您都希望进行元素级比较):
.values
pd.DataFrame(df1.values > df2.values, columns=list("ef")).astype(int)
两个数据帧中的列名不匹配,如果只想比较值,可以使用
.values
访问numpy数组进行比较(这假设两个数据帧具有相同的维度,并且无论维度名称/索引如何,您都希望进行元素级比较):相关问题 更多 >
编程相关推荐