私は以下のマルチインデックスデータフレームを持っており、条件付きカラムをデータフレームに追加しようとしています。私の現在のコードはエラーを生成します。パンダのマルチインデックスデータフレームに条件付きカラムを追加する
ValueError: Wrong number of items passed 4, placement implies 1
データフレームは以下の通りです:
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
そして、私は「幅」と呼ばれるED12のcomdtyとXAU curncy指標のそれぞれについて、3番目の列を追加しようとしていますそのインデックスのPX_LAST列が> = MOV_AVG_200Dかどうかに応じて1または0が返されます。以下
コード:
for ticker in data.columns.levels[0]:
data[(ticker,'BREADTH')] = data.where(data[(ticker,'PX_LAST')]>=data[(ticker,'MOV_AVG_200D')],1,0)
ありがとう!
どう 'についてのデータ[(ティッカー '幅')] = np.where(データ[(ティッカー、 'PX_LAST')]> =データを[(ティッカー、 'MOV_AVG_200D')]、1,0) '? – jezrael
'data'が' np'に変更されました(最初に 'numpyをnpにインポートする必要があります) – jezrael
- ありがとうございました – GPH