Как получить среднее значение одного столбца на основе сходства соответствующих значений в других столбцах - PullRequest
0 голосов
/ 24 декабря 2018

Я был бы благодарен, если бы кто-нибудь сказал мне, как выполнить задачу ниже.Предположим, что у меня есть датафрейм в python:

  col1 col2 col3 col4
0    A 2001    2    5
1    A 2001    2    4
2    A 2001    3    6
3    A 2002    4    5
4    B 2001    2    9
5    B 2001    2    4
6    B 2001    2    3
7    B 2001    3   95

Я хочу получить среднее значение col4, если соответствующие значения в col1, col2 и col3 одинаковы, а затем избавиться от строкс повторными значениями в первых 3 столбцах.Например, значения col1, col2, col3 в двух первых столбцах одинаковы, поэтому мы хотим исключить одно из них и обновить значение col4 как среднее 5 и 4. Результат должен быть:

  col1 col2 col3 col4
0    A 2001    2 4.55
1    A 2001    3    6
2    A 2002    4    5
3    B 2001    2 5.33
4    B 2001    3   95

1 Ответ

0 голосов
/ 24 декабря 2018

Используйте groupby для группировки 'col1' и 'col2' и 'col3', затем получите среднее значение для столбца 'col4':

print(df.groupby(['col1','col2','col3'],as_index=False)['col4'].mean())

Выход:

  col1  col2  col3       col4
0    A  2001     2   4.500000
1    A  2001     3   6.000000
2    A  2002     4   5.000000
3    B  2001     2   5.333333
4    B  2001     3  95.000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...