vytvořit DF se všemi možnými hodnotami týden v pand

hlasů
-2

Mám datový rámec, který vypadá takto

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

Chci df, která bude mít každé id se všemi možnými hodnotami v týdnu (1-5):

id    week  count
1       1     2
1       2     2
1       3     null
1       4     null
1       5     null
Položena 07/11/2018 v 23:44
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Bych jen vytvořit nový datový rámec se všemi idhodnotami 5 krát opakoval, a rozsah 1-5 opakovaných n krát, n je počet idhodnot. Potom proveďte vnější korespondenci s původním datovém:

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
Odpovězeno 07/11/2018 v 23:54
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more