Ich habe den folgenden Multi-Index-Datenrahmen und habe Mühe, dem Datenrahmen eine bedingte Spalte hinzuzufügen. Mein aktueller Code erzeugt den Fehler:Hinzufügen einer bedingten Spalte zu einem Multiindex-Dataframe des Panda
ValueError: Wrong number of items passed 4, placement implies 1
Der Datenrahmen ist unter:
ed12 comdty xau curncy
PX_LAST MOV_AVG_200D PX_LAST MOV_AVG_200D
date
1997-10-06 93.75 93.2863 332.55 339.45
1997-10-07 93.78 93.2881 331.45 339.27
1997-10-08 93.65 93.2892 333.25 339.09
1997-10-09 93.64 93.2904 327.75 338.90
1997-10-10 93.59 93.2913 329.65 338.74
Und ich versuche, eine dritte Spalte für jede der ED12 Comdty und XAU Curncy Indizes „BREIT“ genannt hinzuzufügen, die ist eine 1 oder 0, abhängig davon, ob die Spalte PX_LAST für diesen Index> = MOV_AVG_200D ist.
-Code unten:
for ticker in data.columns.levels[0]:
data[(ticker,'BREADTH')] = data.where(data[(ticker,'PX_LAST')]>=data[(ticker,'MOV_AVG_200D')],1,0)
Dank!
Was ist 'data [(Ticker, 'BREIT')] = np.where (data [(Ticker, 'PX_LAST')]> = Daten [(Ticker, 'MOV_AVG_200D')], 1,0) '? – jezrael
'data' wurde in' np' geändert (brauche zuerst 'import numpy als np') – jezrael
das funktionierte wie ein Zauber - danke – GPH