Как применить условие к столбцу при итерации по каждой строке кадра данных в python - PullRequest
0 голосов
/ 16 января 2020

Ссылка наборов данных файла CSV

Ссылка содержит файл .csv, в котором один столбец содержит имя состояния и номер потерянного зуба. Я хочу рассчитать среднюю потерю зубов у детей в каждом штате. Я пытался использовать df.interrows, но я не могу использовать условие для значения столбцов какой-либо конкретной строки.

for row in df.iterrows():
    if row["State"] == "NSW":
        Count += row["Number of teeth lost"]

Если состояние NSW содержит 3 значения 2,3,4, то мне нужно вычислить среднее из этих трех номер и то же для остальных шести гос. Я использую pandas для работы с CSV-файлом.

1 Ответ

0 голосов
/ 16 января 2020

Попробуйте использовать df.loc[df['State'] == "NSW"]['Number of tooth lost'].mean()

Он выбирает все строки, в которых условие внутри скобки .loc истинно, а затем просто выбирает столбец «Количество потерянных зубов» для вычисления среднего значения.

Это намного быстрее, чем итерация всех строк, как вы сделали, потому что pandas обрабатывает операции на более низком уровне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...