создать DF со всеми возможными значениями для недели в пандах - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть датафрейм, похожий на этот

id    week count
1       1    2
1       2    2
2       3    1
3       5    4

Мне нужен df, который будет иметь каждый идентификатор со всеми возможными значениями недели (1-5):

id    week  count
1       1     2
1       2     2
1       3     null
1       4     null
1       5     null

1 Ответ

0 голосов
/ 08 ноября 2018

Я бы просто создал новый фрейм данных, в котором все значения id повторялись бы 5 раз, а диапазон 1-5 повторялся n раз, n - это число id ценности. Затем выполните внешнее слияние с исходным кадром данных:

new_df = (pd.merge(pd.DataFrame({'id':np.repeat(df['id'].unique(), 5),
                                 'week':np.tile([1,2,3,4,5], df['id'].nunique())}),
                   df, how='outer'))

    id  week  count
0    1     1    2.0
1    1     2    2.0
2    1     3    NaN
3    1     4    NaN
4    1     5    NaN
5    2     1    NaN
6    2     2    NaN
7    2     3    1.0
8    2     4    NaN
9    2     5    NaN
10   3     1    NaN
11   3     2    NaN
12   3     3    NaN
13   3     4    NaN
14   3     5    4.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...