私は二重インデックス(曜日、時間)を持つデータフレームを持ち、インデックス日が休日のリストに属している場合、1に等しい新しい列「Holiday」を作成したい。タイプDatetimeIndexの休日のパンダの日付リストのダミー値を作成
マイリスト:
holidays = ['2017-09-11', '2017-12-24']
私の元データフレーム:
Visitor
Date Time
2017-09-11 4:45 0
5:00 1
5:15 26
....
2017-09-12 4:45 0
5:00 1
5:15 26
....
私が持っているしたいこと:ここで
Visitor Holiday
Date Time
2017-09-11 4:45 0 1
5:00 1 1
5:15 26 1
....
2017-09-12 4:45 0 0
5:00 1 0
5:15 26 0
....
は私がベースを試みたものですon this previous answer:
df['Holiday'] = int(df.index.get_level_values(0) in holidays == True)
私のコラム 'ホリデー' は常に値0を持つしかし
...事前に
ありがとう! in
演算子はスカラー値のために意味され、パンダのデータフレームで使用されるものではないことを
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
注:
を変更する場合は、それはあなたがやったの前に文字通り秒投稿をあなたと同一の溶液を用いて、他の誰かに私だとない幸運。 ;-) –
まあ、どこかでnp.whereがastype(int)と全く同じではないと思っています。明らかに私たちはどちらも独立してisin部分にありました。 – Zero
ありがとうございました! – Batmax