我需要在日期時間索引資料框中創建 3 個新的布爾列,如果每一行的時間下降,則其值為 1
- 在“US_market”列的 8:30 - 15:00 時間范圍內
- 在“EU_market”列的 2:00 - 8:30 時間范圍內
- 在“AS_market”的時間范圍 00:00 - 2:00 和 15:00 - 00:00
我嘗試以這種方式使用 apply/lambda
df_elaborated['US_market'] = df_elaborated.apply(lambda x: 1 if x.between_time('8:30', '15:00') else 0)
但我收到此錯誤訊息“系列的真值不明確。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。” 無論如何查詢
df_elaborated.between_time('8:30', '15:00')
作業正常。有任何想法嗎?
uj5u.com熱心網友回復:
這是因為 apply 將傳遞整個列,并且您試圖將between_time()邏輯應用于整個列而不是逐個值的基礎。
df_elaborated['US_market'] = np.where(df_elaborated.index.isin(df_elaborated.between_time('1:00','14:00').index),1,0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532292.html
標籤:Python熊猫数据框
