Python 板


LINE

hi 各位好 小弟又上了問問題了 繼上次遇到的DataFrame之後 這次是numpy array 我現在寫的方式可以達到想要的結果 但是應該有更漂亮的寫法 所以上來請教大家 下面這四行是pandas 讀進來之後.values() -> 變成np array ['AAA', '2019/03/08', 2, '17:54:43', '上班'], ['AAA', '2019/03/08', 2, '23:02:54', '下班'], ['AAA', '2019/03/13', 2, '17:45:20', '上班'], ['AAA', '2019/03/13', 2, '22:11:00', '下班'】 目標是想要計算AAA上班跟下班打卡時間的差(工時) code: for row in PT_record(這是np array 全部的上下班紀錄): #先讀取上班的日期/時間 if row[-1] =='上班': check_in = row[-2] y,m,day_in = row[1].split('/') day_in = int(day_in) #然後讀取下班的日期/時間 elif row[-1] == '下班': check_out = row[-2] y, m, day_out = row[1].split('/') day_out = int(day_out) #確定上下班的日期相同 #然後把上班的時間增加到下班的最後一項 if day_in == day_out: if row[-1] =='上班': continue else: row = np.append(row,check_in) newrowlist.append(row) 我本來的想法是 一次讀取兩行(上班+下班) # 整張表都是上下班的順序 已經把資料整理過 但是因為不知道怎麼用numpy array的loop一次跳兩行 所以只能先用上面的寫法 把上班的打卡時間 加入到下班的後面(最後一項) 所以就會變成下面這樣的結果 ['AAA' '2019/03/08' 2 '23:02:54' '下班' '17:54:43'] ['AAA' '2019/03/13' 2 '22:11:00' '下班' '17:45:20'] AAA 3/8 的下班時間 上班時間 本來想在最後面增加'上班' 但是 np.append不接受str type.. 所以就變成這種奇怪的模式 想請問 1. np.array 有辦法兩行兩行的讀取嗎? 這樣我可以一次讀一天的上班+下班 然後在loop裡面就很好處理了 2. 如果沒有辦法一次讀兩行 我要怎麼做才能增加'上班'這個str 到np array 裡面? 增加完之後要怎麼改變array裡面的順序? 我查過reshape, append 好像都不是我要的 最理想的情況是 ['AAA' '2019/03/08' 2 '上班' '17:54:43' '下班' '23:02:54'] 但是如果不能新增字串的話 ['AAA' '2019/03/08' 2 '17:54:43' '23:02:54' ] 這也是可以 然後我就可以計算上班時間 增加到最後面 請問有什麼辦法嗎? python新手努力學習中 有找過資料但是都不是我要的功能 謝謝各位 補充一下 else: row = np.insert(row, 3, check_in) row = np.insert(row, 4, '上班') 用insert選位置的話可以完成 ['AAA' '2019/03/31' 1 '17:00:23' '上班' '23:01:51' '下班']] 原來直接加到指定位置就好了 但是我如果想要調換順序的話(ex: 上下班放在時間前面) 我目前還是沒有找到辦法 所以還是想知道 這個loop有辦法改寫的更漂亮更簡潔嗎 謝謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 70.93.230.230
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1555441049.A.694.html ※ 編輯: s82237823 (70.93.230.230), 04/17/2019 03:35:31
1F:→ GeoMeTric: 轉換維度 PT_record.shape = -1, 2, 5 row 即為兩行 04/17 16:42







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP