Расчет панд работает только для первой четверти всех рядов - PullRequest
0 голосов
/ 03 января 2019

У меня есть набор данных с 4mil observations. Я делаю несколько простых преобразований. Тем не менее, первая пара работает нормально для всех 4m obs, но последние несколько работают только для первых 1,2-метровых строк, а затем возвращают NaN для всех оставшихся строк. Я не вижу ничего особенного в данных в этих строках, чтобы это было так. Мне интересно, если это проблема с памятью или что-то, в зависимости от того, как я написал свой код.

В любом случае вот небольшой фрагмент. Первое приведенное ниже преобразование отлично работает для всех 4-метровых рядов, второе - только для 1,2-метровых строк, а затем выдает NaN. Есть идеи?

Спасибо!

#CREATE VAR FOR NUMBER OF PPL WHO'VE CLIMBED EACH ROUTE (SENDERS)
senders = routes.groupby(['route_id'])['user_id'].transform('nunique')
routes['senders'] = senders
routes = routes.reset_index()
routes = routes.drop(['index'], axis=1)

#CREATE VAR FOR WEIGHTED AVG RATING
avg_rating = routes.groupby(['route_id'])['rating'].mean().astype('float64')
routes['avg_rating'] = avg_rating.astype('float64')
routes['war'] = routes.sends * routes.avg_rating
routes = routes.reset_index()
routes = routes.drop(['index'], axis=1)
...