betrachten die Datenrahmen df
Warum muss ich nan bekommen, wenn sie mit loc
df = pd.DataFrame(np.arange(25).reshape(5, 5), list('ABCDE'), list('abcde'))
print(df)
a b c d e
A 0 1 2 3 4
B 5 6 7 8 9
C 10 11 12 13 14
D 15 16 17 18 19
E 20 21 22 23 24
Ich möchte die Zuordnung der Werte in Zeile 'A'
mit den entsprechenden Werten in Zeile 'E'
nur ersetzen, wobei die Werte in Zeile 'D'
sind gleich Null mod drei
ich schaffe die booleschen Maske
mask = df.loc['D'] % 3 == 0
Dann mache ich meine Aufgabe
df.loc['A'] = df.loc['E', mask]
Allerdings habe ich jetzt np.nan
in einigen meiner Spalten und meine ganze Datenrahmen ist jetzt float
print(df)
a b c d e
A 20.0 NaN NaN 23.0 NaN
B 5.0 6.0 7.0 8.0 9.0
C 10.0 11.0 12.0 13.0 14.0
D 15.0 16.0 17.0 18.0 19.0
E 20.0 21.0 22.0 23.0 24.0
Wie soll ich über das Erhalten dieses Ergebnis gehen?
a b c d e
A 20 1 2 23 4
B 5 6 7 8 9
C 10 11 12 13 14
D 15 16 17 18 19
E 20 21 22 23 24