如何在python中从数据列中提取两个数字?

2024-10-01 00:23:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我的数据集中有一个列,其中包含有声书籍的收听时间。数据的存储方式如下所示 10小时43分钟

如何在python数据帧中提取它们并将其更改为分钟

我用过 audiob_adv['time'] = audiob_adv['Listening Time'].str.extract('(\d\d)')

但这并不正确

Image of the dataset


Tags: ofthe数据imagetime方式时间extract
1条回答
网友
1楼 · 发布于 2024-10-01 00:23:58

您需要更改所使用的正则表达式。您需要选择一个或多个数字\d+,然后您有一个或多个字母不是您不想选择的数字[^\d]+,您想选择分钟数的数字\d+。您需要将列类型更改为int32才能进行计算。使用以下代码,您将得到您想要的:

temp_df = audiob_adv['Listening Time'].str.extract(r'(\d+)[^\d]+(\d+)').astype('int32')
audiob_adv["Time"] = temp_df.iloc[:,0]*60 + temp_df.iloc[:,1]

相关问题 更多 >