![](/img/trans.png)
[英]Convert timedelta64[ns] column to seconds in Python Pandas DataFrame
[英]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]
您可以使用apply
和lambda
来访问属性days
( https://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.