繁体   English   中英

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

[英]Python: Pandas Dataframe How to Convert timedelta column to float column

我在具有数据类型 [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

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

ColA
227 
316  
226  
153  

这是我试过的代码:

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

这是错误:TypeError: cannot astype a timedelta from [timedelta64[ns]] to [float64]

您可以使用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)

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

ColA = ColA.dt.days

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

ColA = ColA.astype(float)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM