Избегайте итерации по каждой строке в Pandas для пользовательской агрегации

Если ваш файл my.cnf (обычно в папке etc) правильно настроен с помощью

socket=/var/lib/mysql/mysql.sock

, вы можете проверить, работает ли mysql со следующей командой:

mysqladmin -u root -p status

попробуйте изменить свое разрешение на папку mysql. Если вы работаете локально, вы можете попробовать:

sudo chmod -R 777 /var/lib/mysql/

, которые решили его для меня

3
задан Matt Sosna 6 March 2019 в 21:57
поделиться

2 ответа

pd.cut был разработан для такого рода вещей: http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.cut.html

[114 ] df.groupby(pd.cut(df["salary"], np.arange(0, df["salary"].max(), 1.0e5)))

0
ответ дан rgk 6 March 2019 в 21:57
поделиться

Для подсчета каждой группы сверстников вы можете использовать это:

data['sal_peer_group_count'] = 
     data['salary'].apply(lambda x: len(data.loc[(data['salary']>.9*x) & 
                                       (data['salary']<1.1*x)]))

Чтобы получить среднее значение для группы сверстников sal_perc

data['peer_group_food_perc_mean'] = 
     data['salary'].apply(lambda x: data.loc[(data['salary'] >.9*x) & 
                                             (data['salary'] < 1.1*x), 'food_perc'].mean())
0
ответ дан Natalie Olivo 6 March 2019 в 21:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: