python - Python/Pandas:跨列识别重复项
问题描述
在下面的代码中,我想识别和报告 Col1 中出现在 Col2 中的值、Col2 中出现在 Col1 中的值以及出现多次的总体值。
在下面的示例中,值 AAPL 和 GOOG 出现在 Col1 和 Col2 中。这些预计将在接下来的 2 列中被识别和报告,并且在之后的列中预计将识别和报告 Col1 或 Col2 值中的“任何”是否为 DUP。
import pandas as pd
import numpy as np
data={'Col1':['AAPL', np.nan, 'GOOG', 'MMM', np.nan, 'INTC', 'FB'],'Col2':['GOOG', 'IBM', 'MSFT', np.nan, 'GOOG', 'AAPL', 'VZ']}
df=pd.DataFrame(data,columns=['Col1','Col2'])
print (df)
# How to code after this to produce expected result?
# Appreciate any hint/help provided
解决方案
这是适用于上述代码的解决方案。它只是使用了一些带有 itterows() 的 for 循环。没有什么花哨。
df['Col3'] = False
df['Col4'] = False
df['Col5'] = False
for i,row in df.iterrows():
if df.loc[i,'Col1'] in (df.Col2.values):
df.loc[i,'Col3'] = True
for i,row in df.iterrows():
if df.loc[i,'Col2'] in (df.Col1.values):
df.loc[i,'Col4'] = True
for i,row in df.iterrows():
if df.loc[i,'Col3'] | df.loc[i,'Col4'] == True:
df.loc[i,'Col5'] = True
推荐阅读
- javascript - 处理多个对象
- javascript - 写这个的正确方法是什么?需要替换一个switch语句
- angular - 子项角度路由中的不同 RoleGuard
- java - 在 Linux 中使用 7zip 将 ISO 提取到位置
- html - 阻止表格单元格重叠 HTML CSS
- r - 在 DataFrame 中插入向量
- jquery - 带有锁定列的 Kendo Grid 偏移未锁定的列对齐垂直和水平
- react-native - react native expo 是否有在 iOS 和 android 上工作的自定义日期时间选择器
- javascript - 我可以将数据从一个电子表格复制到一个新的电子表格吗?
- symfony - 刷新电子邮件队列时发生 Swiftmailer 异常:无法在 SMTP 上进行身份验证............带有消息“535 身份验证失败”