两个或多个DataFrame列的交集

两个或多个DataFrame列的交集,第1张

两个或多个DataFrame列的交集

为什么您当前的方法行不通

intersect1d
不接受
N
数组,仅比较2。

numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)

从定义中可以看到,您将第三个数组作为

assume_unique
参数传递,并且由于您将数组视为单个布尔值,因此会收到
ValueError


您可以使用以下方法扩展功能

intersect1d
以在
N
阵列上工作
functools.reduce

from functools import reducereduce(np.intersect1d, (df1.columns, df2.columns, df3.columns))array(['C', 'D'], dtype=object)

更好的方法

但是,最简单的方法是在

Index
对象上使用交集:

df1.columns & df2.columns & df3.columnsIndex(['C', 'D'], dtype='object')


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631329.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存