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

How to extract two numbers from column of data in python?

我的数据集中有一列,里面有有声书的收听时间。数据存储为 10 小时 43 分钟

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

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

但这不能正常工作。

Image of the dataset

您需要更改您使用的正则表达式。您需要 select 一个或多个数字 \d+,然后您有一个或多个字母不是您不想 select [^\d]+ 的数字并且您想要 select 分钟的数字 \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]