In einem Python-Pandas Datenrahmen "df", habe ich die folgenden drei Säulen:Python Pandas Dataframe Bins erstellen nur für Daten, die in Schwellen
song_id | user_id | play_count
play_count = wie oft ein Benutzer, der einen Song hörte
Ich versuche eine Spalte "Bewertung" zu dieser Tabelle basierend auf der Anzahl der Spiele hinzuzufügen. Zum Beispiel, wenn play_count = 2, ist die Bewertung niedrig wie "1".
Zuerst muss ich die Bewertungsschwelle für mein 1-10 Bewertungssystem festlegen.
df.play_count.describe()
count 393727.000000
mean 2.567627
std 4.822111
min 1.000000
25% 1.000000
50% 1.000000
75% 2.000000
max 771.000000
Name: play_count, dtype: float64
Die meisten der play_counts liegen zwischen 1 und 200:
pd.value_counts(pd.cut(df.play_count, bins = 10))
(0.23, 78] 393576
(78, 155] 129
(155, 232] 13
(232, 309] 6
(309, 386] 2
(694, 771] 1
(617, 694] 0
(540, 617] 0
(463, 540] 0
(386, 463] 0
dtype: int64
I 10 Eimer erstellen möchte, mit der letzten Schaufel zu sein, dass, wenn die play_count über 200 ist, das Lied ein Rating hat von "10". Also muss ich die Schwellenwerte der anderen 9 Eimer festlegen.
Leider ist dies nicht funktioniert:
pd.value_counts(pd.cut(df[['play_count'] < 200]], bins = 9))
f = df[df['play_count'] < 200].hist()
Sollte nicht die erste Zeile sein 'pd.cut (df [df [ 'play_count'] <200], ...' statt 'pd.cut (df [['play_count'] <200]], ...'? – IanS
Ich habe das auch versucht, es gibt mir den Fehler "ungültige Syntax". – jeangelj