2016-04-25 15 views
1

Ich habe folgende Daten-Set:Wie Boolean Indikatoren Matrix in Python erstellen

 user artist    sex  country 
0  1 red hot chili peppers f  Germany 
1  1 the black dahlia murder f  Germany 
2  1 goldfrapp    f  Germany 
3  2 dropkick murphys  f  Germany 
4  2 le tigre    f  Germany 
. 
. 
289950 19718 bob dylan   f  Canada 
289951 19718 pixies    f  Canada 
289952 19718 the clash   f  Canada 

Ich mag eine Booleschen Indikator-Matrix mit einem Datenrahmen zu schaffen, in dem eine Zeile gibt für jeden Benutzer und eine Spalte für jeden Künstler . Für jede Zeile (Benutzer), wenn es Künstler Rückkehr 1 sonst Rückkehr 0.

nur zu erwähnen, gibt es 1004 einzigartige Künstler und 15.000 Unique User-es ist ein großer Datensatz ist.

Ich habe eine leere Matrix mit dem folgenden erstellt:

pd.DataFrame(index=user, columns=artist) 

Ich habe Schwierigkeiten richtig die Datenrahmen bevölkern.

Antwort

1

Es ist ein Verfahren, bei Pandas notnull

Angenommen, Ihre Datenrahmen genannt wird df genannt, sollten Sie verwenden:

df['has_artist'] = df['artist'].notnull() 

Dies wird eine Spalte von boolean hinzufügen has_artist zu Ihrem Datenrahmen genannt Wenn Sie möchten, haben, anstatt 0 und 1 tun:

df['has_artist'] = df['artist'].notnull().astype(int) 

Sie können auch in einer anderen Variable einer speichern Ändere deinen Datenrahmen nicht.