2024-10-01 00:23:58 发布
网友
我的数据集中有一个列,其中包含有声书籍的收听时间。数据的存储方式如下所示 10小时43分钟
如何在python数据帧中提取它们并将其更改为分钟
我用过 audiob_adv['time'] = audiob_adv['Listening Time'].str.extract('(\d\d)')
audiob_adv['time'] = audiob_adv['Listening Time'].str.extract('(\d\d)')
但这并不正确
Image of the dataset
您需要更改所使用的正则表达式。您需要选择一个或多个数字\d+,然后您有一个或多个字母不是您不想选择的数字[^\d]+,您想选择分钟数的数字\d+。您需要将列类型更改为int32才能进行计算。使用以下代码,您将得到您想要的:
\d+
[^\d]+
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]
您需要更改所使用的正则表达式。您需要选择一个或多个数字
\d+
,然后您有一个或多个字母不是您不想选择的数字[^\d]+
,您想选择分钟数的数字\d+
。您需要将列类型更改为int32才能进行计算。使用以下代码,您将得到您想要的:相关问题 更多 >
编程相关推荐