Fasst Ich bin mit Python 3.6 und Pandas 0.19.2 in PyCharm Community Edition 2016.03.02 und ich versuche, eine Reihe von Zeilen in meinem Datenrahmen, um sicherzustellen, fügt Zunächst sieht aus, als mein Datenrahmen auf 1eine Pandas Dataframe
up folgt:
hello world label0 label1 label2
abc def 1.0 0.0 0.0
why not 0.33 0.34 0.33
hello you 0.33 0.38 0.15
ich gehen Sie wie folgt vor:
dieser Code# get list of label columns (all column headers that contain the string 'label')
label_list = df.filter(like='label').columns
# ensure every row adds to 1
if (df[label_list].sum(axis=1) != 1).any():
print('ERROR')
Leider ist für mich nicht funktioniert. Was passiert, ist, dass ich, anstatt meine Zeilen zu summieren, nur den Wert der ersten Spalte in meinen gefilterten Daten erhalte. Mit anderen Worten: df[label_list].sum(axis=1)
kehren:
0 1.0
1 0.33
2 0.33
Dies sollte trivial sein, aber ich kann einfach nicht herausfinden, was ich falsch mache. Danke im Voraus für die Hilfe!
UPDATE:
Dies ist ein Auszug aus meinen ursprünglichen Daten, nachdem ich für die Etiketten Spalt gefiltert habe:
label0 label1 label2 label3 label4 label5 label6 label7 label8
1 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
2 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
3 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
4 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
5 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
6 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
7 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
8 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
9 0.34 0.1 0.1 0.1 0.2 0.4 0.1 0.1 1.2
Mein Code von oben immer noch nicht funktioniert, und ich habe immer noch keine Ahnung, warum . Wenn ich meinen Code in der Python-Konsole ausführe funktioniert alles einwandfrei, aber wenn ich meinen Code in Pycharm 2016.3.2 ausführe, gibt label_data.sum(axis=1)
einfach die Werte der ersten Spalte zurück.
Was gibt 'label_list = df.filter (like = 'label'). Columns' zurück? – jezrael
Es scheint, dass etwas mit Spaltennamen nicht stimmt, überprüfen Sie es mit 'print (df.columns.tolist())' – jezrael
Für Ihr Beispiel gibt es zurück '['Hallo', 'Welt', 'Label0', 'Label1', 'label2'] ' – jezrael