簡體   English   中英

pandas python 如何將持續時間轉換為毫秒?

[英]pandas python how to convert time duration to milliseconds?

我有一個 df,你可以通過復制並運行以下代碼來獲得它:

import pandas as pd
from io import StringIO

df = """
 b_id          duration1                  duration2                          user

 384           28 days 21:05:16.141263     0 days 00:00:44.999706            Test
 
"""
df= pd.read_csv(StringIO(df.strip()), sep='\s\s+', engine='python')
df

我的問題是,如何將持續時間從“28 天 21:05:16.141263”轉換為毫秒?

首先將您的持續時間 1 轉換為timedelta ,然后再轉換為毫秒

df['duration1'] = pd.to_timedelta(df['duration1'])
df['dur1_milli'] = df['duration1'].astype(np.int64) / int(1e6)
print(df)

輸出#

   b_id               duration1               duration2  user    dur1_milli
0   384 28 days 21:05:16.141263  0 days 00:00:44.999706  Test  2.495116e+09

如果你想擴展它們

將此添加到代碼的第一行

pd.set_option('display.float_format', lambda x: '%.3f' % x)

輸出 #

   b_id               duration1               duration2  user     dur1_milli
0   384 28 days 21:05:16.141263  0 days 00:00:44.999706  Test 2495116141.263

試試這個

df['duration1'].map(lambda x: pd.to_timedelta(x).total_seconds() * 1e3)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM