【发布时间】:2018-06-16 17:20:35
【问题描述】:
我有一个大致如下结构的数据框(它是一个事件参与者列表;池足够小,我们可以假设重复值指的是同一个人):
id_1 id_2 id_3 ... year name country
1_c 2_a 3_a 2011 John France
1_b 2_a 3_c 2010 Jill UK
1_c 2_b 3_c 2018 John Germany
1_c 2_b 3_c 2014 Jason Italy
1_c 2_b 3_b 2017 John Unknown
目的是用国家名称替换“未知”值,如果此人在另一年的参与中拥有已知国家/地区。
万一它们在不同年份被列在不同国家/地区下,我很乐意将它们标记在最接近“未知”年份的年份中被列在哪个国家/地区下(以上,我们会将 John 的 'Unknown' 更改为 'Germany')。
我是一个完整的 pandas(和 python!)新手。我已经使用 drop_duplicates 创建了一个唯一名称/国家/地区对的列表,但我假设必须有一种更优雅的方式来完成剩下的工作,而不是我目前深陷其中的列表、元组和字典转换的混乱。
【问题讨论】:
标签: python python-2.7 pandas dataframe