2015-03-30 6 views
0

Я не очень хорошо знаком с функциональными Pandas, но не смог найти решение этой проблемы в документации.Смарт, отличный от pandas

Я хочу сделать DISCTINCT таблицей для ID, записывая в ячейку TRUE, если этот ID TRUTH когда-либо встречался и FALSE в противном случае.

Вход:

  ID VALUE 
---------+-----+------- 
0   1  True 
1   1  True 
2   1 False 
3   1  True 

4   2  True 
5   2 False 
6   2 False 
7   2 False 

8   3 False 
9   3 False 
10   3 False 
11   3 False 

Результат:

  ID VALUE 
---------+-----+------- 
0   1  True 
1   2  True 
2   3 False 

ответ

1

pandas.DataFrame.any возвращает истину, если хотя бы один элемент из группы верно. Затем reset_index преобразует ID, который является индексом после groupby, обратно в столбец.

df.groupby("ID").any().reset_index() 

Результат:

ID VALUE 
0 1 True 
1 2 True 
2 3 False 
Смежные вопросы