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

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

import pandas as pd

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,4,4],
                   'C':[7,8,9],
                   'D':[3,3,3]})
print(df)
   A  B  C  D  
0  1  4  7  3  
1  2  4  8  3  
2  3  4  9  3

Я хочу получить среднее значение как [2, 1, 8, 1].поскольку столбцы B и D имеют только уникальное значение, я надеюсь, что среднее значение равно 1, а не этому уникальному значению.

Как я могу это сделать, я думаю, что я должен написать функцию, а затем применить к каждому столбцусостояние, но я не знаю, как это сделать.

Надеюсь, что кто-нибудь может мне помочь.

1 Ответ

0 голосов
/ 15 сентября 2018

Это ... странная вещь хотеть. :-) Я бы посоветовал не называть это "средним", это только смущает людей.

Вероятно, самое простое, что нужно сделать, - это вычислить реальное среднее, а затем просто заменить уникальные столбцы с переопределением 1.

In [226]: df.mean().where(df.nunique() > 1, 1)
Out[226]: 
A    2.0
B    1.0
C    8.0
D    1.0
dtype: float64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...