Как фильтровать строки в DataFrame на основе состояния столбца [закрыто]Python

Программы на Python
Anonymous
Как фильтровать строки в DataFrame на основе состояния столбца [закрыто]

Сообщение Anonymous »

У меня есть большой набор данных в DataFrame pandas, который выглядит следующим образом:



HR
САД
DBP
SepsisLabelPatientID




92
120
< td style="text-align: right;">80
0
0


98
115
85
0
0


93
125
< td style="text-align: right;">75
0
0


95
130
90
0
1


102
120
< td style="text-align: right;">80
1
1


109
115
75
1
1


94
135
< td style="text-align: right;">100
0
2


97
100
70
0
2


85
120
< td style="text-align: right;">80
0
2


88
115
75
0
3


93
125
< td style="text-align: right;">85
1
3


78
130
90
1
3


115
140
< td style="text-align: right;">110
0
4


102
120
80
0
4


98
140
< td style="text-align: right;">110
0
4



Я хочу создать новый DataFrame, который включает только те строки, где SepsisLabel имеет значение 1, и, следовательно, исключает строки с PatientID, у которых нет SepsisLabel, равного 1.
Например, PatientID 0, 2 и 4 не имеют SepsisLabel со значением 1, поэтому они не должны появляться в новом DataFrame. Должны быть включены только идентификаторы PatientID 1 и 3, которые имеют хотя бы одну строку с SepsisLabel, равным 1.
Как я могу добиться этого в Python с помощью pandas?
Вот моя первоначальная попытка, но я не уверен, правильна ли она или оптимальна:

Код: Выделить всё

# My initial attempt

filtered_df = df[df['SepsisLabel'] == 1]
result_df = df[df['PatientID'].isin(filtered_df['PatientID'].unique())]

Будем очень признательны за любые рекомендации или улучшения.

Подробнее здесь: https://stackoverflow.com/questions/673 ... -condition

Вернуться в «Python»