Ach*_*ich 3 timedelta python-datetime pandas
我有一个数据框,其中有一列时间戳类型。我想找到自午夜以来经过的时间(以秒为单位)作为新列。如何以简单的方式做到这一点?
例如:输入:
samples['time']
2018-10-01 00:00:01.000000000
2018-10-01 00:00:12.000000000
Run Code Online (Sandbox Code Playgroud)
type(samples['time'].iloc[0])
<class 'pandas._libs.tslib.Timestamp'>
Run Code Online (Sandbox Code Playgroud)
输出 :
samples['time_elapsed']
1
12
Run Code Online (Sandbox Code Playgroud)
当前的答案要么太复杂,要么太专业。
samples = pd.DataFrame(data=['2018-10-01 00:00:01', '2018-10-01 00:00:12'], columns=['time'], dtype='datetime64[ns]')
samples['time_elapsed'] = ((samples['time'] - samples['time'].dt.normalize()) / pd.Timedelta('1 second')).astype(int)
print(samples)
time time_elapsed
0 2018-10-01 00:00:01 1
1 2018-10-01 00:00:12 12
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5644 次 |
| 最近记录: |