我正在使用一個數據庫 (xlsx),該數據庫告知動物在研究區域內的時間,如下所示:我想將時間分組,挑選時間并將其分類。24 小時至 6 小時 - 黎明 6 小時至 12 小時 - 上午 12 小時至 18 小時 - 下午 18 小時 - 24 小時 - 夜間因此,“21:25:00”將是“晚上”,“10:36:00”將是“早晨”,依此類推。我怎樣才能用熊貓做到這一點?我嘗試使用與重命名列相同的方法,類似這樣。pamdf.loc[pamdf['Hora em que foram detectados dentro da área de exclus?o'].isin( ['24:00:00':'06:00:00' ]), 'Hora em que foram detectados dentro da área de exclus?o'] = 'Dawn'但這沒有任何意義,顯然也不起作用。我可以使用“pandas.cut”嗎?如何?預先感謝大家,并對英語不好表示歉意。例子:Hour 21:2510:3623:1704:5521:1223:5819:5520:5423:0100:2018:54
1 回答

胡子哥哥
TA貢獻1825條經驗 獲得超6個贊
你可以這樣做:
import pandas as pd
def convert_to_category(x):
if x in set([i for i in range(1,7)]):
return 'Dawn'
elif x in set([i for i in range(7,13)]):
return 'Morning'
elif x in set([i for i in range(13,19)]):
return 'Afternoon'
else:
return 'Night'
df = pd.DataFrame({'time':['21:25:00','10:36:00','23:17:00']})
df['period'] = pd.to_datetime(df['time']).dt.hour.apply(lambda x: convert_to_category(x))
time period
0 21:25:00 Night
1 10:36:00 Morning
2 23:17:00 Night
添加回答
舉報
0/150
提交
取消