Re: [問題] numpy array 一次選取兩行

看板Python作者 (dododo)時間6年前 (2019/04/21 07:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
如果只是想要計算上下班時間差的話 可以不用兩行兩行讀取計算 PT_record = [['AAA', '2019/03/08', 2, '17:54:43', '上班'], ['BBB', '2019/03/08', 2, '17:59:43', '上班'], ['AAA', '2019/03/08', 2, '23:02:54', '下班'], ['BBB', '2019/03/08', 2, '20:02:54', '下班'], ['AAA', '2019/03/13', 2, '17:45:20', '上班'], ['BBB', '2019/03/13', 2, '18:45:20', '上班'], ['AAA', '2019/03/13', 2, '22:11:00', '下班'], ['BBB', '2019/03/13', 2, '23:19:00', '下班']] # 整理成dataframe df = pd.DataFrame(PT_record) keys = df.columns values = ['id', 'time', 'nothing', 'end', 'status'] d = dict(zip(keys, values)) df = df.rename(columns = d) df['end'] = pd.to_datetime(df['end']) df = df.sort_values(['id','time']) df = df.set_index(['id', 'time']) # 利用pandas的groupby就可以達到時間差的效果 df = df.groupby(df.index)[['end']].diff() df = df.dropna().rename(columns = {'end': '工作時間'}) 如果練習的目的是要加強使用迴圈的技巧 那請忽略我吧XD -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.117.95 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1555831659.A.2C0.html
文章代碼(AID): #1Sl1jhB0 (Python)
文章代碼(AID): #1Sl1jhB0 (Python)