熊猫根据其他具有相同ID的行填充缺少的类别

时间:2020-01-24 18:59:11

标签: python pandas

ids = [1,1,1]
value1 = ['c', np.nan, np.nan]
value2 = [np.nan, 'd', 'a']
value3 = [np.nan, np.nan, np.nan]
value4 = ['these', 'dont', 'matter']

df = pd.DataFrame({'id':ids, 'value1':value1, 'value2':value2, 'value3':value3, 
           'value4':value4})



   id value1 value2  value3  value4
0   1      c    NaN     NaN   these
1   1    NaN      d     NaN    dont
2   1    NaN      a     NaN  matter

我想根据这样的ID将这3行合并为一个

   id value1 value2  value3
0  1      c      d     NaN

在这种情况下,两行中的一列是否具有不同的值都无关紧要,我将采用其中任一值。 (让我们说第一个,就像value2的示例一样)

如果任何行中的一列都没有值,我希望它为np.nan

谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用此:

df.groupby(‘ids’).first()

如果您希望取最后一个值,可以使用:

df.groupby(‘ids’).last()