2015-03-15 5 views
6

जब मैं करना एक data[genres].sum() मैं निम्नलिखित परिणाम प्राप्तnumpy तरह अजीब तरह से अभिनय जब एक पांडा DataFrame पर छँटाई

Action  1891 
Adult   9 
Adventure  1313 
Animation  314 
Biography  394 
Comedy  3922 
Crime   1867 
Drama   5697 
Family   754 
Fantasy  916 
Film-Noir  40 
History  358 
Horror  1215 
Music   371 
Musical  260 
Mystery  1009 
News    1 
Reality-TV  1 
Romance  2441 
Sci-Fi   897 
Sport   288 
Thriller  2832 
War   512 
Western  235 
dtype: int64 

लेकिन जब मैं योग को np.sort

genre_count = np.sort(data[genres].sum())[::-1] 
pd.DataFrame({'Genre Count': genre_count})` 

मैं पर सुलझाने की कोशिश निम्नलिखित परिणाम

`Out[19]: 
    Genre Count 
0 5697 
1 3922 
2 2832 
3 2441 
4 1891 
5 1867 
6 1313 
7 1215 
8 1009 
9 916 
10 897 
11 754 
12 512 
13 394 
14 371 
15 358 
16 314 
17 288 
18 260 
19 235 
20 40 
21 9 
22 1 
23 1 

अपेक्षित परिणाम इस तरह होना चाहिए:

Genre Count 
Drama 5697 
Comedy 3922 
Thriller 2832 
Romance  2441 
Action 1891 
Crime 1867 
Adventure 1313 
Horror 1215 
Mystery  1009 
Fantasy  916 
Sci-Fi 897 
Family 754 
War  512 
Biography 394 
Music 371 
History  358 
Animation 314 
Sport 288 
Musical  260 
Western  235 
Film-Noir 40 
Adult 9 
News 1 
Reality-TV 1 

ऐसा लगता है जैसे numpy शैली कॉलम को अनदेखा कर रहा है।

क्या कोई मुझे यह समझने में मदद कर सकता है कि मैं कहां गलत हो रहा हूं?

उत्तर

5

data[genres].sum() एक श्रृंखला देता है। शैली कॉलम वास्तव में एक कॉलम नहीं है - यह एक सूचकांक है।

np.sort सिर्फ DataFrame या श्रृंखला, सूचकांक पर नहीं के मूल्यों पर लग रहा है, और यह हल कर data[genres].sum() मूल्यों के साथ एक नया NumPy सरणी देता है। सूचकांक जानकारी खो गई है।

data[genres].sum() सॉर्ट और सूचकांक जानकारी रखने के लिए की तरह कुछ करने के लिए किया जाएगा जिस तरह से:

genre_count = data[genres].sum() 
genre_count.sort(ascending=False) # in-place sort of genre_count, high to low 

फिर आपको वापस एक DataFrame यदि आप चाहें में क्रमबद्ध किया genre_count सीरीज बारी कर सकते हैं:

pd.DataFrame({'Genre Count': genre_count}) 
+0

यह खूबसूरती से काम किया .... मदद के लिए बहुत बहुत धन्यवाद! :) – function

+0

कोई समस्या नहीं - खुशी हुई इससे मदद मिली! –

संबंधित मुद्दे