2016-04-28 9 views
0

Ich habe ein Datenframe, das eine Spalte namens genres hat. Jedes Genre hat mehrere Werte als Filmname. Das Format ist unten angegeben:Python: Streudiagramm mit group_by Funktion in Pandas

Movie_val Genre 
     2  Fantasy 
     11  Adventure 
     12  Comedy 
     2  Fantasy 
     2  Adventure 
    11  Adventure 
    13  Thriller 
    12  Fantasy 
    10  Thriller 
    11  Drama 
    1  Fantasy 

ich jede der Gattungen auf movie_val und plotten jede Gruppe in einem Streudiagramm wie ein Cluster basierend auf GROUP_BY benötigen (zB: Action-Genre-Filme in einem Cluster oder Farbe, Abenteuer in einem anderen , etc.,). Ich überprüfte die matplot lib-Bibliothek und erwartet zwei Werte X und Y für ein Cluster-Diagramm. Mein group_by-Befehl wird viele Filmwerte haben (zB haben Abenteuer-Genres viele Werte und ich bin mir nicht sicher, wie man die Werte als Gruppe darstellt).

Auch jeder dieser group_by-Werte sollte in einer anderen Farbe dargestellt werden. Ich habe den folgenden Code für Balkendiagramm ausprobiert. Aber ich suche nach Streuung, da das unten stehende Format keine Streuung zulässt.

 result = df.groupby(['genres'])['Movie_val'].quantile(0.5) 
    result.sort_values().plot(kind='barh') 

Ich versuche dies in Python mit Pandas-Bibliothek. Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Die Seaborn-Bibliothek kann Ihnen wahrscheinlich das geben, wonach Sie suchen. Natürlich müssen Sie noch auswählen, welche Spalten Ihres Datenrahmens die Koordinaten für das Streudiagramm liefern.

import seaborn as sns 
g = sns.FacetGrid(df, hue="Genre", size=5) 
g.map(plt.scatter, "column name for x dimension", "column name for y dimension", s=50, alpha=.7) 
g.add_legend(); 

Siehe auch die Beispiele mit komplexeren Facettierung hier: https://stanford.edu/~mwaskom/software/seaborn/tutorial/axis_grids.html

+0

Ich verwende group_by Funktion Gruppe Genres und es werden mehrere Werte für eine einzelne Gruppe haben. In meinem Fall wird movie_value mit 12 als Wert in einer Achse verfügbar sein und mehrere Genres haben, die in einer anderen Achse geplottet werden müssen. Ich muss wissen, wie das passieren kann. Ich habe meinen group_by Befehl wie oben erwähnt und es muss geplottet werden – SRS

Verwandte Themen