如何解决对于 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 举报,一经查实,本站将立刻删除。