मेरे पास एक डेटा फ्रेम है, df
, इस तरह:
Rank User
0 1690 samberman1212
1 1690 khogan3131
2 1690 narguero
3 1690 Awesemo
4 1690 Awesemo
5 1690 cptnspaulding
6 1690 Fluke7634
7 1690 giantsquid
8 1690 vidthekid22
9 1690 I_Slewfoot_U
10 1690 Mirage88
11 1690 Mirage88
12 1690 Mirage88
13 1690 Testosterown
14 1715 Anonymous
15 1715 Anonymous
मैं प्रत्येक उपयोगकर्ता के df
में होने की संख्या का उपयोग करना चाहता हूं। इसलिए, मैंने एक नया डेटा फ़्रेम बनाया, multiple
:
multiple=users_df.groupby("User").count()
print(multiple)
Rank
User
Anonymous 2
Awesemo 2
Fluke7634 1
I_Slewfoot_U 1
Mirage88 3
Testosterown 1
cptnspaulding 1
giantsquid 1
khogan3131 1
narguero 1
samberman1212 1
vidthekid22 1
अंत में, मैं इसे एक चर, count_IP
को असाइन करने के लिए फ़्रीक्वेंसी काउंट निकालना चाहूंगा:
for i, row in users_df.iterrows():
rank = row['Rank']
user = row['User']
count_IP= ???
इस प्रकार, मैं उस समय लूप में उपयोगकर्ता (user
) के लिए गिनती मूल्य के लिए multiple
देखने में सक्षम होना चाहता हूं ... मैं कोशिश करता हूं:
multiple.query('User==user')['Rank']
#AND
multiple[multiple["User"]==user]["Rank"]
लेकिन, दोनों काम नहीं हुए। ऐसा लगता है कि उपयोगकर्ता कॉलम, वेरिएबल जिस पर समूह द्वारा किया गया था, कॉल करने योग्य नहीं है। क्योंकि जब मैं कॉलम नाम मांगता हूं:
list(multiple.columns.values)
['Rank']
इसे कैसे हल किया जा सकता है ?
अद्यतन:
आवृत्ति गणना के बजाय, मान लें कि मैं प्राप्त करना चाहता हूं:
Rank User order of appearance
0 1690 samberman1212 1
1 1690 khogan3131 1
2 1690 narguero 1
3 1690 Awesemo 1
4 1690 Awesemo 2
5 1690 cptnspaulding 1
6 1690 Fluke7634 1
7 1690 giantsquid 1
8 1690 vidthekid22 1
9 1690 I_Slewfoot_U 1
10 1690 Mirage88 1
11 1690 Mirage88 2
12 1690 Mirage88 3
13 1690 Testosterown 1
14 1715 Anonymous 1
15 1715 Anonymous 2
अद्यतन#2:
मैं अधिक अज्ञात के साथ डेटा फ्रेम पर कोशिश कर रहा हूं।
ank User order of appearence
0 1 boggslite 1
1 2 dokcash 1
2 3 loumister35 1
3 4 drhass 1
4 5 onem4nwolfpack 1
5 6 felder15 1
6 7 TwoStix 1
7 8 Mwise120 1
8 9 sdchickens 1
9 10 tastefultides 1
10 11 bric75 1
11 12 ycmmat 1
12 13 tastefultides 1
13 14 mpgoldberg16 1
14 14 mpgoldberg16 2
15 16 Cicima6709 1
16 17 LSUTom123 1
17 18 bunglerprime 1
18 18 Testosterown 1
19 20 dfsteams 1
20 20 yankeesfan2 1
21 22 tfinnerty 1
22 23 bellmar21 1
23 24 Awesemo 1
24 25 shocky26 1
25 25 tastefultides 1
26 27 Thanks4DaChedda 1
27 28 isupol 1
28 28 jwestphal708 1
29 30 giantsquid 1
30 31 boggslite 1
31 32 Thanks4DaChedda 1
32 33 dre87 1
33 33 BlarneyBoys 1
34 33 bric75 1
35 36 ezellmt 1
36 36 Cicima6709 1
37 38 ivanage 1
38 38 Thanks4DaChedda 1
39 40 nevs2904 1
40 41 gridironguru999 1
41 42 Anonymous 1
42 43 Anonymous 1
43 44 Anonymous 1
44 45 Anonymous 1
45 45 Anonymous 2
46 47 Anonymous 1
47 48 Anonymous 1
48 49 Anonymous 1
49 50 Anonymous 1
1 उत्तर
IIUC आप df.groupby()
को के साथ करना चाहते हैं transform()
df['count_IP']=df.groupby('User').transform('count')
print(df)
Rank User count_IP
0 1690 samberman1212 1
1 1690 khogan3131 1
2 1690 narguero 1
3 1690 Awesemo 2
4 1690 Awesemo 2
5 1690 cptnspaulding 1
6 1690 Fluke7634 1
7 1690 giantsquid 1
8 1690 vidthekid22 1
9 1690 I_Slewfoot_U 1
10 1690 Mirage88 3
11 1690 Mirage88 3
12 1690 Mirage88 3
13 1690 Testosterown 1
14 1715 Anonymous 2
15 1715 Anonymous 2
यदि आप डुप्लिकेट मानों को हटाना चाहते हैं तो आप df=df.drop_duplicates()
प्रदर्शन कर सकते हैं।
उपस्थिति के क्रम के लिए संपादित करें:
df['order of appearence']=df.groupby('User')['User'].transform(lambda x : x.duplicated().cumsum().add(1))
print(df)
Rank User order of appearence
0 1690 samberman1212 1
1 1690 khogan3131 1
2 1690 narguero 1
3 1690 Awesemo 1
4 1690 Awesemo 2
5 1690 cptnspaulding 1
6 1690 Fluke7634 1
7 1690 giantsquid 1
8 1690 vidthekid22 1
9 1690 I_Slewfoot_U 1
10 1690 Mirage88 1
11 1690 Mirage88 2
12 1690 Mirage88 3
13 1690 Testosterown 1
14 1715 Anonymous 1
15 1715 Anonymous 2
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।