2016-06-12 5 views
0

Учитывать У меня есть один DataFrame так:Python - Panda - Получить последнее непустое значение

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, 

Что мне нужно, чтобы получить это «result_1» и значение «result_2» наибольшего ID, учитывая не- пустые «результаты». Моя последняя DataFrame должна быть таблица 2 линии, как это:

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

Спасибо заранее.

+0

Я думаю, что ваш вопрос на самом деле более сложная, чем вы сделаете это, кажется. Не могли бы вы точно определить, что вы пытаетесь сделать? В вашем примере вы выбрали и объединили результаты из четырех разных строк, и я не могу вывести логику, которую вы использовали из того, как вы задали вопрос. – Tom

+0

Можете ли вы показать, что вы пробовали? – Merlin

ответ

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 
Смежные вопросы