微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

对于 UNEVEN 结构化数据,使用 Pandas“比较和替换”值

如何解决对于 UNEVEN 结构化数据,使用 Pandas“比较和替换”值

我有 2 个包含不均匀结构化数据的 csv 文件。我想使用 IteraTION 比较两个文件的“STag”和“E1”列值,如果它们相等,则将“file2_data”的“E1_CUI”列值替换为“file1_data”的“E1_CUI”列值。我得到了 ValueError: Can only compare相同标签的 Series 对象。作为参考,请考虑以下示例。

代码

import pandas as pd
file1_data = {
    'STag': ['Title_1','Title_1','Abs_1','Abs_3','Abs_4','Abs_4'],'E1': ['pacnes','PI','acne','pacnes','pI','kera','PPI'],'E1_CUI': ['C3477','C9871','C2166','C3477','C2567','C9871']
}
df1 = pd.DataFrame(file1_data)
df1

    E1      E1_CUI  STag
0   pacnes  C3477   Title_1
1   PI      C9871   Title_1
2   acne    C2166   Abs_1
3   pacnes  C3477   Abs_3
4   pI      C9871   Abs_3
5   kera    C2567   Abs_4
6   PPI     C9871   Abs_4

file2_data = {
    'STag': ['Title_1','kera'],'E1_CUI': [0,0]
}
df2 = pd.DataFrame(file2_data)
df2

    E1      E1_CUI  STag
0   pacnes  0       Title_1
1   acne    0       Abs_1
2   pI      0       Abs_3
3   kera    0       Abs_4

for row,col in df1.iterrows():
    if (df1['STag'] == df2['STag'] and df1['E1'] == df2['E2']):
        df2['E1_CUI'] = df1['E1_CUI']

错误

ValueError: Can only compare identically-labeled Series objects

预期输出数据帧

    E1      E1_CUI  STag
0   pacnes  C3477   Title_1
1   acne    C2166   Abs_1
2   pI      C9871   Abs_3
3   kera    C2567   Abs_4

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。