2015-03-15 14 views
6

yapmam zaman aşağıdaki bir sonuç almak bir data[genres].sum()numpy sıralama esrarlı hareket

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 

Ama np.sort

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

alıyorum kullanarak toplamına göre sıralama çalıştığınızda aşağıdaki sonuç

`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 

Beklenen sonuç şöyle olmalıdır:

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, tür sütunu göz ardı ediyor gibi görünüyor.

Birisi nerede yanlış gideceğimi anlamama yardımcı olabilir mi?

cevap

5

data[genres].sum() bir dizi döndürür. Tür sütunu aslında bir sütun değil - bir dizin.

np.sort sadece DataFrame veya Series, dizinde değil değerlerine bakar ve o tür data[genres].sum() değerlerle yeni NumPy dizisi döndürür. İndeks bilgisi kayboldu.

gibi bir şey yapmak olacaktır endeks bilgilerini data[genres].sum() sıralamak ve tutmanın yolu:

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

Ardından tekrar dilerseniz bir DataFrame halinde sıralanır genre_count Serisi kapatabilirsiniz:

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

Bu güzel çalıştı .... Yardım için çok teşekkürler! :) – function

+0

Sorun değil - yardımcı oldu! –