Python 将多格式持续时间数据转换为通用格式“%H%M%S”。格式的%M部分(分钟)不一致
我有一个持续时间数据,它是一个具有多种格式的对象,特别是冒号之间的分钟部分。任何想法,如何转换这些数据。我尝试了一切可以想象的正则表达式,除了正确的答案:,这是我正在努力解决的主要问题。例如,下面是我试图将分钟列归零的尝试Python 将多格式持续时间数据转换为通用格式“%H%M%S”。格式的%M部分(分钟)不一致,python,pandas,time,duration,Python,Pandas,Time,Duration,我有一个持续时间数据,它是一个具有多种格式的对象,特别是冒号之间的分钟部分。任何想法,如何转换这些数据。我尝试了一切可以想象的正则表达式,除了正确的答案:,这是我正在努力解决的主要问题。例如,下面是我试图将分钟列归零的尝试 df['temp'] = df['temp'].replace(':?:', ':0?:', regex=True) 输入: Duration 0 00:0:00 1 00:00:00 2 00:8:00 3 00:08:00 4 00:588:
df['temp'] = df['temp'].replace(':?:', ':0?:', regex=True)
输入:
Duration
0 00:0:00
1 00:00:00
2 00:8:00
3 00:08:00
4 00:588:00
5 09:14:00
预期输出选项1时间格式:
Duration
0 00:00:00
1 00:00:00
2 00:08:00
3 00:08:00
4 09:48:00
5 09:14:00
我的最终目标是获得会议记录,因此另一个可接受的格式是:
预期输出选项2分钟-整数或浮点:
Minutes
0 0
1 0
2 8
3 8
4 588
5 554
我们可以用骡子劈腿
我们可以用骡子劈腿
我们可以只做pd.to_timedelta:
输出:
0 00:00:00
1 00:00:00
2 00:08:00
3 00:08:00
4 09:48:00
5 09:14:00
Name: Duration, dtype: timedelta64[ns]
0 0.0
1 0.0
2 8.0
3 8.0
4 588.0
5 554.0
Name: Duration, dtype: float64
或选项2-分钟:
pd.to_timedelta(df.Duration).dt.total_seconds()/60
输出:
0 00:00:00
1 00:00:00
2 00:08:00
3 00:08:00
4 09:48:00
5 09:14:00
Name: Duration, dtype: timedelta64[ns]
0 0.0
1 0.0
2 8.0
3 8.0
4 588.0
5 554.0
Name: Duration, dtype: float64
我们可以只做pd.to_timedelta:
输出:
0 00:00:00
1 00:00:00
2 00:08:00
3 00:08:00
4 09:48:00
5 09:14:00
Name: Duration, dtype: timedelta64[ns]
0 0.0
1 0.0
2 8.0
3 8.0
4 588.0
5 554.0
Name: Duration, dtype: float64
或选项2-分钟:
pd.to_timedelta(df.Duration).dt.total_seconds()/60
输出:
0 00:00:00
1 00:00:00
2 00:08:00
3 00:08:00
4 09:48:00
5 09:14:00
Name: Duration, dtype: timedelta64[ns]
0 0.0
1 0.0
2 8.0
3 8.0
4 588.0
5 554.0
Name: Duration, dtype: float64
我忘了警局的事,谢谢!我忘了警局的事,谢谢!这是我之前被卡住后接下来要尝试的,但我不知道在拆分后可以用这样的列表相乘。凉的非常感谢。这是我之前被卡住后接下来要尝试的,但我不知道在拆分后可以用这样的列表相乘。凉的非常感谢。