Создайте новый Dataframe, который подсчитывает положительные и отрицательные твиты для каждого пользователя - PullRequest
1 голос
/ 21 сентября 2019

у меня есть следующий DataFrame:

enter image description here

он содержит user_ids, твиты, местоположение и классификацию твита как отрицательного и положительного.

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

  1. user_id
  2. количество отрицательных твитов по этому user_id
  3. количество положительных твитов по этому user_id
  4. местоположение пользователя

требуемый пример вывода

user_id             positive_tweets   negative_tweets    Location
418                 1                    0                   CA
521                 1                    0                   CA
997                 0                    1                   LA
1135                1                    0                   LA

этот код был предложен мистером Блэкфоксом для моего предыдущего вопроса, который я не правильно задал.

df.groupby(['user_id','classification'])['user_id'].count()

однако он не соответствует требуемому выводу.

Спасибо

1 Ответ

2 голосов
/ 21 сентября 2019

Надеюсь, это то, что вы ищете.

df.groupby(['user_id', 'Location']).apply(lambda x: pd.Series(dict(
positive_tweets=(x.classification == 'positive').sum(),
negative_tweets=(x.classification == 'negative').sum(),
)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...