gpt4 book ai didi

python - 当键值重复时,如何停止 pandas merge() 函数来做笛卡尔积?

转载 作者:行者123 更新时间:2023-12-05 05:30:03 26 4
gpt4 key购买 nike

a = pd.DataFrame({"a": [1,2], "b": [1,1]})
b = pd.DataFrame({"c": [3,4], "b": [1,1]})
c = a.merge(b, on=['b'], how='inner')

我们将得到有 4 行的 c。但是我们如何通过使用 merge() 函数得到像 {'a':[1,2], 'c':[3,4], 'b':[1,1]} 这样的 c?

最佳答案

这可行。 Pandas 合并在您实现时并不是那么好。

c = pd.concat([a, b], axis=1, join='inner')
c = c.loc[:,~c.columns.duplicated()]
print(c)

返回这个:

   a  b  c
0 1 1 3
1 2 1 4

关于python - 当键值重复时,如何停止 pandas merge() 函数来做笛卡尔积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74804401/

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