वास्तविक डेटा शीर्षमैं निम्नलिखित समस्या में फंस गया हूं, इमेज इज माई डेटाफ्रेम

छवि मेरी डेटाफ्रेम है जिसमें राज्य की सूची बहुत लंबी है जिसमें संयुक्त राज्य अमेरिका के विभिन्न राज्यों को इंडेक्स के रूप में शामिल किया गया है और अन्य 2 कॉलम में काउंटियों और जनगणना जनसंख्या 2010 के बारे में जानकारी है।

मेरा उद्देश्य केवल प्रत्येक राज्य के लिए तीन सबसे अधिक आबादी वाले काउंटियों को देखना है, तीन सबसे अधिक आबादी वाले राज्य कौन से हैं (उच्चतम जनसंख्या से निम्नतम जनसंख्या के क्रम में)? CENSUS2010POP का प्रयोग करें। इस फ़ंक्शन को स्ट्रिंग मानों की एक सूची लौटानी चाहिए।

df = pd.DataFrame({'State': ['A', 'A','A','A','A','B','B','B','B','B','B','C','C','C','C','C', 'D','D', 'D', 'D'],
               'County': ['Aa', 'Ab','Ac','Ad', 'Ae', 'Ba','Ba','Bb','Bc','Bd','Be','Ca','Cb','Cc','Cd','Ce','Da','Db','Dc','Dd'],
               'Population': [25,35,45,60,12,80,45,60,20,30,14,65,87,65,13,29,45,60,75,80]})
-1
Brijesh Prajapati 9 अप्रैल 2020, 12:13

1 उत्तर

सबसे बढ़िया उत्तर
state_group=df.groupby(['State'])['Population'].nlargest(3).sum(level=0)
state_group_largest3=state_group.nlargest(3)

print (state_group) का आउटपुट, एक राज्य में 3 सबसे बड़े काउंटियों के योग की गणना करें:

State
A    140 # because 140=35+45+60, which are the 3 largest counties in A
B    185
C    217
D    215
Name: Population, dtype: int64

print (state_group_nlargest) का आउटपुट आपको सबसे अधिक जनसंख्या वाले तीन राज्य देता है।

State
C    217
D    215
B    185
Name: Population, dtype: int64

मुझे लगता है कि आप सभी प्रासंगिक पायथन कार्यों को जानते हैं (इस मामले में groupby, nlargest, sum, कभी-कभी आपको उन्हें तार्किक तरीके से लागू करना होता है :)

0
tianlinhe 9 अप्रैल 2020, 18:31