Python 3.x 通过比较两个数据帧获取数据

Python 3.x 通过比较两个数据帧获取数据,python-3.x,pandas,Python 3.x,Pandas,我偶然发现了一个很难回答的问题,那就是我的熊猫新手体验。 我在连接两个excel文件时遇到问题,它们看起来是这样的: 身份证件 名称 语言 gr_id 显示 1. 彼得 EN 1. 2. 佩特罗斯 拉丁语 1. 1. 3. 彼得 判定元件 1. 4. 胜利者 EN 2. 5. 胜利者 拉丁语 2. 1. 6. 克劳迪斯 拉丁语 3. 1. 7. 克劳迪奥 西班牙文 3. 主要工具是布尔索引: def get_拉丁语(名称): #获取名称“gr_id”` gr_id=df2.loc[df2['na

我偶然发现了一个很难回答的问题,那就是我的熊猫新手体验。 我在连接两个excel文件时遇到问题,它们看起来是这样的:

身份证件 名称 语言 gr_id 显示 1. 彼得 EN 1. 2. 佩特罗斯 拉丁语 1. 1. 3. 彼得 判定元件 1. 4. 胜利者 EN 2. 5. 胜利者 拉丁语 2. 1. 6. 克劳迪斯 拉丁语 3. 1. 7. 克劳迪奥 西班牙文 3.
主要工具是布尔索引:

def get_拉丁语(名称):
#获取名称“gr_id”`
gr_id=df2.loc[df2['name']==name,'gr_id'].tolist()
#按gr\U id选择
gr_id_mask=df2['gr_id'].isin(gr_id)
#选择组中语言为拉丁语的行
latin_mask=df2.loc[gr_id_mask,'language']=='latin'
#选择语言为拉丁语的名称
latin_names=df2.loc[gr_id_mask和latin_mask,'name'].tolist()
如果len(拉丁名称)else'',则返回拉丁名称[0]
df['original_version_of_name']=df['name']。应用(获取拉丁语)
名称名称的原始版本
0彼得·佩特罗斯
1维克多维克多
2克劳迪奥·克劳迪乌斯