Python “查找多个列中出现的相同值”
假设我有一个数据帧Python “查找多个列中出现的相同值”,python,pandas,Python,Pandas,假设我有一个数据帧 column1 column2 column3 1 2 4 2 3 5 3 4 6 4 5 7 5 6 8 我如何才能找到这三列中出现的值 与上述数据帧一样,输出为[4,5] 我试过密码 for index, row in df.iterrows(): for i in row["c
column1 column2 column3
1 2 4
2 3 5
3 4 6
4 5 7
5 6 8
我如何才能找到这三列中出现的值
与上述数据帧一样,输出为[4,5]
我试过密码
for index, row in df.iterrows():
for i in row["column1"]:
for j in row["column2"]:
if row["column1"][i] == row["column2"][j]:
print row["column1"][i]
它跳出了错误
TypeError: 'numpy.float64' object is not iterable
我也试过了
for i in df["column1"].iterrows():
错误是
AttributeError: 'numpy.float64' object has no attribute 'iterrows'
IIUC
可以使用numpy intersect1d
from functools import reduce
reduce(np.intersect1d, list(df.to_numpy().T))
Output: array([4, 5])
您的预期输出是什么?请提供一个,以及整个错误消息。您还没有清楚地解释您尝试执行的操作是什么。请看,。抱歉,不明确。因此,对于我提供的示例数据帧,我希望输出为[4,5](4和5)谢谢!!正是我要找的!
from functools import reduce
reduce(np.intersect1d, list(df.to_numpy().T))
Output: array([4, 5])