Python 天数增量:从数据框中的天数输出中删除时间并将列转换为浮点数
Python Days Delta: Remove time from days output in dataframe and convert column to float
我在数据框中有以下列。第二列告诉我每个帐户 activity 日期之间的平均天数。
"Avg No. of Days Btw Activities" 目前有一个数据类型的对象。
下面是我为创建第二列而编写的代码:
df_act_8_date = pd.DataFrame(df_act_7_date.groupby("Account")["Avg No. of Days Btw Activities"].apply(lambda x: x.diff().mean()))
我希望第二列只显示一个代表天数的数字,并且是一个浮点值。请查看 "Desired Column" 了解我要制作的内容。
老实说,我不知道如何解决这个问题。作为开始步骤,我尝试将第二列转换为浮点数,但出现以下错误:
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')
我在数据框中有以下列。第二列告诉我每个帐户 activity 日期之间的平均天数。
"Avg No. of Days Btw Activities" 目前有一个数据类型的对象。
下面是我为创建第二列而编写的代码:
df_act_8_date = pd.DataFrame(df_act_7_date.groupby("Account")["Avg No. of Days Btw Activities"].apply(lambda x: x.diff().mean()))
我希望第二列只显示一个代表天数的数字,并且是一个浮点值。请查看 "Desired Column" 了解我要制作的内容。
老实说,我不知道如何解决这个问题。作为开始步骤,我尝试将第二列转换为浮点数,但出现以下错误:
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')