मेरे पास एक डेटाफ्रेम है जहां मुझे उपयोगकर्ता आईडी, उत्पादों और उत्पाद श्रेणी के साथ दिया जाता है। मैं डेटाफ्रेम के लिए एक सुविधा बनाना चाहता हूं जहां यह बताता है कि उस उपयोगकर्ता ने कितनी बार पहले इस उत्पाद का उपभोग किया है। उपयोगकर्ता 6 ने पिछली पंक्ति में दो बार पहले उत्पाद 8 लिया है।

user_id products last_used
    1   8           0     
    2   2           0       
    4   2           0
    6   8           0
    6   2           0
    1   8           1
    2   2           1
    6   8           1
    6   8           2

मैं अपने डेटाफ्रेम में यह आखिरी इस्तेमाल किया कॉलम चाहता हूं। अग्रिम में धन्यवाद।

1
kanav anand 17 नवम्बर 2018, 08:03

1 उत्तर

सबसे बढ़िया उत्तर

groupby और < का इस्तेमाल करें a href="https://pandas.pydata.org/pandas-docs/stable/generated/pandas.core.groupby.GroupBy.cumcount.html#pandas.core.groupby.GroupBy.cumcount" rel="nofollow noreferrer" >cumcount:

df['last_used'] = df.groupby(['user_id','products'])['products'].cumcount()

print(df)
   user_id  products  last_used
0        1         8          0
1        2         2          0
2        4         2          0
3        6         8          0
4        6         2          0
5        1         8          1
6        2         2          1
7        6         8          1
8        6         8          2
2
Sandeep Kadapa 17 नवम्बर 2018, 05:09