Добавление наблюдений с одинаковым столбцом и создание одной уникальной строки для каждого наблюдения - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть набор данных, как показано ниже:

          batsman                 batting_team  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018
0  A Ashish Reddy              Deccan Chargers     0     0     0     0    35     0     0     0     0     0     0
1  A Ashish Reddy          Sunrisers Hyderabad     0     0     0     0     0   125     0    73    47     0     0
2      A Chandila             Rajasthan Royals     0     0     0     0     0     4     0     0     0     0     0
3        A Chopra        Kolkata Knight Riders    42    11     0     0     0     0     0     0     0     0     0
4     A Choudhary  Royal Challengers Bangalore     0     0     0     0     0     0     0     0     0    25     0

Я пытаюсь добавить столбцы с тем же именем, что и их оценки в каждом году, также, например, если A Ready появляется два раза, это означает, что

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

мы создадим одно наблюдение из этих двух, как следующее

Имя - Редди

Команда - название второй группы наблюдения

2008,2009, ..., 2018 - и добавить данные столбцов из столбцов года.

1 Ответ

2 голосов
/ 09 апреля 2019

Попробуйте:

df_out = df.groupby('batsman').sum()
#Sums all numeric columns of the dataframe

df_out['batting_team'] = df_out.index.map(df.drop_duplicates(['batsman'], keep='last').set_index('batsman')['batting_team'])
#Use drop duplicates to keep the last team and set_index to use in map 

df_out.reset_index().reindex(df.columns, axis=1)
#Reset index and reorder dataframe columns like input dataframe

Выход:

          batsman                 batting_team  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018
0  A Ashish Reddy          Sunrisers Hyderabad     0     0     0     0    35   125     0    73    47     0     0
1      A Chandila             Rajasthan Royals     0     0     0     0     0     4     0     0     0     0     0
2        A Chopra        Kolkata Knight Riders    42    11     0     0     0     0     0     0     0     0     0
3     A Choudhary  Royal Challengers Bangalore     0     0     0     0     0     0     0     0     0    25     0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...