Добавление новой строки с дополнительным значением только в одном столбце - PullRequest
1 голос
/ 05 апреля 2020

У меня есть DataFrame следующим образом:

Name | Year | Score | Time
Bob   2000   5       8
Jan   2000   6       6
Bob   2001   4       7
Jan   2001   8       8
Carl  2001   2       4
Bob   2002   5       7
Jan   2002   6       9
Carl  2002   7       4

Как видите, у Карла нет записи для Year = 2000. Я хочу создать новую строку, которая даст Карлу запись в Year = 2000, но мой фактический DataFrame имеет 42 функции. Какой самый простой способ сделать это?

1 Ответ

3 голосов
/ 05 апреля 2020

Использование DataFrame.unstack с DataFrame.stack:

df = df.set_index(['Name','Year']).unstack(fill_value=0).stack().reset_index()
print (df)
   Name  Year  Score  Time
0   Bob  2000      5     8
1   Bob  2001      4     7
2   Bob  2002      5     7
3  Carl  2000      0     0
4  Carl  2001      2     4
5  Carl  2002      7     4
6   Jan  2000      6     6
7   Jan  2001      8     8
8   Jan  2002      6     9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...