Python根据现有数据填充缺失值

时间:2017-03-13 19:18:08

标签: python pandas

我有一个包含一个缺失值的数据框。

   exam_id   exam  
0        1   french   
1        2   italian 
2        3   chinese  
3        4   english  
4        3   chinese  
5        5   russian  
6        1   french       
7      NaN   russian   
8        1   french   
9        2   italian

我想根据现有信息填写俄罗斯考试中缺少的exam_id。由于俄语的exam_id为5,我希望将相同的值分配给丢失的。

2 个答案:

答案 0 :(得分:3)

您可以按exam对数据框进行分组,然后执行ffill + bfill,以防现有值之前和之后缺少值:

df.groupby("exam").ffill().bfill()

enter image description here

答案 1 :(得分:1)

此方法不仅填充缺失值。所以要小心。然而,这也将处理错误编码(例如,“法语”被编码为3)。为语言及其值构建字典,然后通过地图应用它将创建一个新的parser.add_argument('--version', action='version', version='%(prog)s 1.0') 列。但请注意,如果某种语言没有出现在字典中(例如“法语”),则会产生缺失值。

exam_id