Ale*_*lex 0 python time date seconds pandas
我有一个 pandas DataFrame,其中有一列格式为 00:00:00(小时、分钟、秒)。
import pandas as pd
# sample dataframe
df = pd.DataFrame({'Time': ['00:01:00', '00:00:30', '00:01:30', '00:00:10']})
Time
0 00:01:00
1 00:00:30
2 00:01:30
3 00:00:10
Run Code Online (Sandbox Code Playgroud)
我需要创建一个包含总秒数的列。我怎样才能实现这个目标?
Time Time in secs
0 00:01:00 60.0
1 00:00:30 30.0
2 00:01:30 90.0
3 00:00:10 10.0
Run Code Online (Sandbox Code Playgroud)
我试过:
df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S')
Run Code Online (Sandbox Code Playgroud)
但这会导致以下结果,与预期输出不符。
Time Time in secs
0 00:01:00 1900-01-01 00:01:00
1 00:00:30 1900-01-01 00:00:30
2 00:01:30 1900-01-01 00:01:30
3 00:00:10 1900-01-01 00:00:10
Run Code Online (Sandbox Code Playgroud)
您没有日期,因此最容易使用Timedelta,并且您的格式完全符合要求。这些正是您想要的属性:total_seconds
pd.to_timedelta(df.Time).dt.total_seconds()
#0 60.0
#1 30.0
#2 90.0
#3 10.0
#Name: Time, dtype: float64
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
497 次 |
| 最近记录: |