Python - Panda - 获取最后一个非空值

时间:2016-06-12 22:38:42

标签: python pandas dataframe

考虑我有一个这样的DataFrame:

ID,    name,  result_1,   result_2
1 ,    John,       8.9,        1.1
2 ,    John,       3.3,          
3 ,    John,          ,        9.9
4 ,    Mark,       8.8,        4.5
5 ,    Mark,       5.5,   

我需要检索的是最大ID的'result_1'和'result_2'值,考虑非空'结果'。 我的最终DataFrame必须是这样的2行表:

name,  result_1,   result_2
John,       3.3,        9.9
Mark,       5.5,        4.5

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

ID    name,  result_1   result_2
1    John,       8.9         1.1
2     John,       3.3        N/A
3     John,       N/A        9.9
4     Mark,       8.8        4.5
5     Mark,       5.5        N/A


df = df.groupby(['name,']).last()
df[['result_1', 'result_2' ]]



#          result_1  result_2
 #   name,                    
 #   John,       3.3       9.9
 #   Mark,       5.5       4.5