我試圖根據日期和時間過濾器為列分配一個值。假設我創建了一個資料框:
import pandas as pd
from datetime import date
date_range = pd.DataFrame({'date': pd.date_range(date(2019,8,30), date.today(), freq='15T')})
date_range.index = date_range['date']
然后我可以過濾當天(星期日)并分配一個值:
date_range['Happy Hour'] = ((pd.DatetimeIndex(date_range.index).dayofweek) // 6 == 'Yes!!')
我還可以過濾時間范圍并分配一個值
date_range.loc[date_range.between_time('15:00','18:59').index, 'Happy Hour'] = 'Yes!!'
但是肯定有一種簡單的方法可以將這些組合成一行代碼,因此每個星期日的 15:00 到 19:00 之間的歡樂時光欄都會填滿“是的!!”
uj5u.com熱心網友回復:
首先過濾星期日,然后按以下條件過濾時間:
idx = date_range[date_range.index.dayofweek == 6].between_time('15:00','18:59').index
date_range.loc[idx, 'Happy Hour'] = 'Yes!!'
print (date_range)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/366366.html
上一篇:如何垂直合并列?
下一篇:快速洗掉熊貓資料框中的零列
