gpt4 book ai didi

python - 如何突出显示数据帧的两个不同列中的唯一数据值?

转载 作者:行者123 更新时间:2023-12-02 10:01:33 24 4
gpt4 key购买 nike

我想突出显示数据帧的两个不同列中的重复数据值。例如:

df1:

item Node

A B

A C

A D

B A

C A

我希望输出如下:

item Node Same

A B False

A C False

A D False

B A True

C A True

我想显示重复的值,就像如果有 A-B 我想突出显示 B-A。为此,我创建了另一个数据框并交换了两列的值。

df2:

item   node

B A

C A

D A

A B

A C

我正在尝试检查 df1['item']==df2['node'] 和 df1['node']==df2['item'] ,如果为真,则该值将重复。当 A 出现在 df1 项目中时,它会检查 df2 节点中的 A,并相应地检查 A 的对应节点 B 是否出现在 df2 的项目列中。

import pandas as pd
import numpy as np
data=pd.read_excel(r'C:\Users\eumukar\Desktop\test data xl.xlsx')
df1=pd.DataFrame(data,columns=['item','node'])
df2=pd.DataFrame(data,columns=['node','item'])
df1['Same']=np.where((df1['item']==df2['node']) & (df1['node']==df2['item']),'True','False')
print(df1)

我得到的输出为:

item node   Same
A B False
A C False
A D False
B A False
C A False

最佳答案

如果 itemNode 的所有配对均不重复,请使用 np.sort(如果性能很重要)和 DataFrame.duplicated :

df1['Same'] = pd.DataFrame(np.sort(df1[['item','Node']], axis=1), index=df.index).duplicated()
print (df1)
item Node Same
0 A B False
1 A C False
2 A D False
3 B A True
4 C A True

关于python - 如何突出显示数据帧的两个不同列中的唯一数据值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60035094/

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