Python:Pandas Dataframe如何将timedelta列转换为float列

时间:2018-03-19 19:19:02

标签: python types timedelta

我在数据框中有一个数据类型为[timedelta64 [ns]]的列。我试图将其转换为浮动。

这是一个示例表:

ColA
227 days 00:00:00.000000000
316 days 00:00:00.000000000
226 days 00:00:00.000000000
153 days 00:00:00.000000000

下面是我想要的数据类型为float的表:

ColA
227 
316  
226  
153  

这是我尝试过的代码:

df_EVENT5_24['ColA'] = df_EVENT5_24['ColA'].astype(float)

这是错误: TypeError:无法从[timedelta64 [ns]]到[float64]

中输入timedelta

2 个答案:

答案 0 :(得分:1)

您可以使用applylambda来访问属性dayshttps://pandas.pydata.org/pandas-docs/stable/timedeltas.html):

df_EVENT5_24['ColA'] = df_EVENT5_24.apply(lambda row: row.ColA.days, axis=1)

答案 1 :(得分:0)

我们可以使用dt.days属性。示例ColA是您的timedelta系列的名称。

ColA = ColA.dt.days

要转换为浮点型,您需要df.astype

ColA = ColA.astype(float)

***ColA = ColA.dt.days.astype(float)***