gpt4 book ai didi

python - 将文本列拆分为最小值 :sec

转载 作者:太空宇宙 更新时间:2023-11-03 19:41:01 26 4
gpt4 key购买 nike

我在数据框中有一个时间详细信息作为文本。

dict1={'time' : ['2 min 19 sec','2 min 43 sec','1 min 33 sec','32 sec','40 sec','22 sec']}
df=pd.DataFrame(dict1)


time
0 2 min 19 sec
1 2 min 43 sec
2 1 min 33 sec
3 32 sec
4 40 sec
5 22 sec

我希望输出生成为

      time         updtime
0 2 min 19 sec 2:19
1 2 min 43 sec 2:43
2 1 min 33 sec 1:33
3 32 sec 0:32
4 40 sec 0:40
5 22 sec 0:22

我尝试分配时间,但在数据对齐方面遇到问题。

 df['time'].str.split("min", n =2, expand = True)

输出:

    0        1
-------------------
0 2 19 sec
1 2 43 sec
2 1 33 sec
3 32 sec None
4 40 sec None
5 22 sec None

第 3、4、5 行值应列在第二列中,但它列在第一列中,因此我无法连接这两列。任何人都可以分享您如何执行此操作的想法。

最佳答案

首先,我将列的格式更改为与数据类型 DateTime 类似,并将其字符串化为预期格式

>>> df['time'] = df.time.apply(lambda x: f'0 min {x}'if 'min' not in x else x)
>>> df['uptime'] = pd.to_datetime(df.time, format='%M min %S sec').dt.strftime('%M:%S')
<小时/>

输出:

>>> df
time uptime
0 2 min 19 sec 02:19
1 2 min 43 sec 02:43
2 1 min 33 sec 01:33
3 0 min 32 sec 00:32
4 0 min 40 sec 00:40
5 0 min 22 sec 00:22

关于python - 将文本列拆分为最小值 :sec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60426708/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com