δημιουργούν DF με όλες τις δυνατές τιμές για την εβδομάδα στο pandas

ψήφοι
-2

Έχω ένα dataframe που μοιάζει με αυτό

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
Δημοσιεύθηκε 07/11/2018 στις 23:44
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
0

Θα δημιουργήσει απλώς μια νέα dataframe με όλες τις idτιμές επαναλήφθηκε 5 φορές, και το εύρος των 1-5 επαναλαμβάνονται n φορές, n είναι ο αριθμός των idτιμών. Στη συνέχεια, κάντε ένα εξωτερικό συγχώνευση με την αρχική dataframe σας:

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
Απαντήθηκε 07/11/2018 στις 23:54
πηγή χρήστη

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