Ich bin hier seltsame Verhalten pandas
Verhalten. Ich habe einen Datenrahmen, der wiePandas DataFrame mit Tupel von Strings als Index
df = pd.DataFrame(columns=['Col 1', 'Col 2', 'Col 3'],
index=[('1', 'a'), ('2', 'a'), ('1', 'b'), ('2', 'b')])
In [14]: df
Out[14]:
Col 1 Col 2 Col 3
(1, a) NaN NaN NaN
(2, a) NaN NaN NaN
(1, b) NaN NaN NaN
(2, b) NaN NaN NaN
sieht ich den Wert eines beliebigen Elements einstellen
In [15]: df['Col 2'].loc[('1', 'b')] = 6
In [16]: df
Out[16]:
Col 1 Col 2 Col 3
(1, a) NaN NaN NaN
(2, a) NaN NaN NaN
(1, b) NaN 6 NaN
(2, b) NaN NaN NaN
Aber wenn ich gehe, um das Element zu verweisen, die ich mit der gleichen Syntax nur gesetzt, ich
bekommenKann mir jemand sagen, was ich falsch mache oder warum dieses Verhalten auftritt? Darf ich den Index nicht einfach als Multielement-Tupel setzen?
bearbeiten
Offenbar arbeitet die Tupelindex in einer Liste gewickelt wird.
Obwohl ich immer noch ein seltsames Verhalten in meinem tatsächlichen Anwendungsfall bekomme, wäre es nett zu wissen, ob dies nicht empfohlen wird.
Die Antwort in [diese Frage] (https://stackoverflow.com/questions/25476880/using-dataframe-ix-with-a-tuple-index-in-pandas) deutet darauf hin, dass es nicht empfohlen Ursache für Mehrdeutigkeit zwischen Tupel-Schlüssel und MultiIndex-Auswahl. –