Возврат среднего значения столбца на основе значений строк - PullRequest
0 голосов
/ 08 октября 2018

[2]

У меня есть приведенный ниже кадр данных, и я хотел бы вернуть средние значения «Возраст» и «Продажи» для каждого вкуса «Шоколад» или «Ваниль», так что средний возраст«Ваниль» - это x, средний возраст «шоколада» - это y и т. Д.

Мне не удалось найти ответ в Интернете, и я застрял.

print(MergeData.head())

   Customer      Type     Flavor  Age  Sales    Store  Goals  Goal FlavorCode  \
0         1     Adult  Chocolate   45   4.25  Greeley     25    25          C   
1         2     Child    Vanilla    5   2.90  Greeley     25    25          V   
2         6  Teenager  Chocolate   16   4.10  Greeley     25    25          C   
3         8     Child    Vanilla    4   3.00  Greeley     25    25          V   
4        10     Child    Vanilla    6   2.50  Greeley     25    25          V   

         AgeBin1 AgeBin2  
0   (28.0, 72.0]       B  
1  (3.999, 14.0]       A  
2   (14.0, 28.0]       A  
3  (3.999, 14.0]       A  
4  (3.999, 14.0]       A  

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

вы даже можете использовать df.loc ..

, просто используя здесь примерный набор данных

>>> df
         Name  Score1  Score2
0       Alisa    62.2      89
1       Bobby    47.4      87
2    Cathrine    55.5      67
3     Madonna    74.6      55
4       Rocky    31.2      47
5   Sebastian    77.5      72
6    Jaqluine    85.6      76
7       Rahul    63.5      79
8       David    42.8      44
9      Andrew    32.3      92
10       Ajay    71.2      99
11     Teresa    57.4      69

среднее значение для фрейма данных ..

>>> df.mean()
Score1    58.433333
Score2    73.000000
dtype: float64

Дляопределенный столбец:

>>> df.loc[:,"Score1":"Score2"].mean()
Score1    58.433333
Score2    73.000000
dtype: float64
0 голосов
/ 08 октября 2018

IIUC:

df.groupby(['Flavor'])['Age','Sales'].transform('mean')

Демонстрация:

print(df.groupby(['Flavor'])['Age','Sales'].transform('mean'))

Выход:

    Age  Sales
0  30.5  4.175
1   5.0  2.800
2  30.5  4.175
3   5.0  2.800
4   5.0  2.800
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...