亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在數據框python中格式化時間差

在數據框python中格式化時間差

墨色風雨 2022-05-19 18:31:20
我的數據中有兩行我想要時差        request           Req_Created       Req_Closed           0 REQ0079455     15/05/2019  16:51   23/05/2019 20:53     1 REQ0079455     15/05/2019 16:51    23/05/2019 20:53使用數據框:df['Req_time_taken'] = pd.to_datetime(df['Req_Closed'], format ='%d/%m/%Y %H:%M') - pd.to_datetime(df['Req_Created'], format ='%d/%m/%Y %H:%M') df.to_csv ("102.csv")問題是輸出格式不可讀          request     Req_Created          Req_Closed         Req_time_taken       0  REQ0079455  15/05/2019 16:51    23/05/2019 20:53    8 days 04:02:00.000000000       1  REQ0079455  15/05/2019 16:51    23/05/2019 20:53    8 days 04:02:00.000000000如何以以下兩種格式顯示結果:          request     Req_Created          Req_Closed         Req_time_taken_1    Req_time_taken_2       0  REQ0079455  15/05/2019 16:51    23/05/2019 20:53    8 days 04:02        196 hours 02 minutes       1  REQ0079455  15/05/2019 16:51    23/05/2019 20:53    8 days 04:02        196 hours 02 minutes請注意 Req_time_taken_1 和 Req_time_taken 的格式差異
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

對于Req_time_taken1, 使用pandas.Series.str.split:


df['Req_time_taken1'] = df['Req_time_taken'].astype(str).str.rsplit(':', 1).str[0]

對于Req_time_taken2, 使用pandas.Series.dt.total_seconds:


df['Req_time_taken2'] = df['Req_time_taken'].dt.total_seconds().apply(lambda x: '%s hours %s minutes' % (x//3600, x%3600/60))

print(df)

輸出:


      request        Req_Created        Req_Closed  Req_time_taken  \

0  REQ0079455  15/05/2019  16:51  23/05/2019 20:53 8 days 04:02:00   

1  REQ0079455   15/05/2019 16:51  23/05/2019 20:53 8 days 04:02:00   


  Req_time_taken1          Req_time_taken2  

0    8 days 04:02  196.0 hours 2.0 minutes  

1    8 days 04:02  196.0 hours 2.0 minutes  


查看完整回答
反對 回復 2022-05-19
  • 1 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號