मेरे पास एक डेटाफ्रेम है जहां मुझे उपयोगकर्ता आईडी, उत्पादों और उत्पाद श्रेणी के साथ दिया जाता है। मैं डेटाफ्रेम के लिए एक सुविधा बनाना चाहता हूं जहां यह बताता है कि उस उपयोगकर्ता ने कितनी बार पहले इस उत्पाद का उपभोग किया है। उपयोगकर्ता 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 उत्तर
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
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।