Ich habe diesen Pandas Datenrahmen:Hinzufügen einer neuen Spalte zu Pandas Datenrahmen mit Werten für bestimmte Gegenstände?
d=pandas.DataFrame([{"a": 1}, {"a": 3, "b": 2}])
und ich versuche, eine neue Spalte mit Nicht-Null-Werten nur für bestimmte Zeilen hinzufügen, basierend auf ihrem numerischen Indizes im Array. beispielsweise das Hinzufügen einer neuen Spalte „c“ nur auf die erste Zeile in d
:
# array of row indices
indx = np.array([0])
d.ix[indx]["c"] = "foo"
der sollte für die erste Reihe, und NaN für alle anderen Zeilen „foo“, wie der Spalte „c“ Wert hinzufügen. aber das scheint das Array nicht zu ändern:
d.ix[np.array([0])]["c"] = "foo"
In [18]: d
Out[18]:
a b
0 1 NaN
1 3 2
was mache ich hier falsch? Wie kann es gemacht werden? Vielen Dank.
Wenn dies so etwas wie ein numpy Array ist, sollte dies nicht homogen sein? – dusual
Es ist sehr gut möglich, ein Pandas df mit einer Mischung aus String-Werten und NaN-Werten zu haben – user248237dfsf