使用python pandas将hh:mm:ss转换为分钟

ric*_*hie 10 python pandas

我有一个数据帧列,data['time taken'];

02:08:00
02:05:00
02:55:00
03:42:00
01:12:00
01:46:00
03:22:00
03:36:00
Run Code Online (Sandbox Code Playgroud)

如何以分钟的形式获得输出,如下所示?

128
125
175
222
72
106
202
216
Run Code Online (Sandbox Code Playgroud)

And*_*den 11

假设这是一个字符串列,您可以使用以下str.split方法:

In [11]: df['time taken'].str.split(':')
Out[11]:
0    [02, 08, 00]
1    [02, 05, 00]
2    [02, 55, 00]
3    [03, 42, 00]
4    [01, 12, 00]
5    [01, 46, 00]
6    [03, 22, 00]
7    [03, 36, 00]
Name: time taken, dtype: object
Run Code Online (Sandbox Code Playgroud)

然后使用apply:

In [12]: df['time taken'].str.split(':').apply(lambda x: int(x[0]) * 60 + int(x[1]))
Out[12]:
0    128
1    125
2    175
3    222
4     72
5    106
6    202
7    216
Name: time taken, dtype: int64
Run Code Online (Sandbox Code Playgroud)


wai*_*kuo 9

您可以尝试将其转换为 DatetimeIndex

In [58]: time = pd.DatetimeIndex(df['time taken'])

In [59]: time.hour * 60 + time.minute
Out[59]: array([128, 125, 175, 222,  72, 106, 202, 216], dtype=int32)
Run Code Online (Sandbox Code Playgroud)