我在数据框中有以下几列。第二列告诉我每个帐户的活动日期之间的平均天数。

当前“平均Btw活动天数”具有dtype对象。

python - Python Days Delta:从数据帧中的天数输出中删除时间并将列转换为浮点型-LMLPHP

以下是我编写的用于创建第二列的代码:

df_act_8_date = pd.DataFrame(df_act_7_date.groupby("Account")["Avg No. of Days Btw Activities"].apply(lambda x: x.diff().mean()))


我希望第二列仅显示代表天数的数值,并且是浮点值。请参阅“所需列”以了解我要生产的内容。

老实说,我不知道如何解决这个问题。我尝试将第二列转换为浮点数作为开始步骤,但遇到以下错误:

ValueError: could not convert string to float: '15 days 07:26:53.793103448'


任何帮助是极大的赞赏!

最佳答案

试试这种方法:

df['new'] = pd.to_timedelta(df['Avg No. of Days Btw Activitie'], errors='coerce').days


演示:

In [160]: pd.to_timedelta(['99 days 12:00:05','AAA', '30 days 08:00:00.00000000'],
                          errors='coerce').days
Out[160]: Float64Index([99.0, nan, 30.0], dtype='float64')

关于python - Python Days Delta:从数据帧中的天数输出中删除时间并将列转换为浮点型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43914840/

10-12 05:31