python - 将 Timedelta 从 Pandas 数据帧转换为秒值
问题描述
pandas.DataFrame
我在标题中有一个列,Residuals
它是一种timedelta
格式(00:00:01.14611
例如)。我在列中有 47 个列出的值,Residuals
我需要将它们全部转换回仅一秒的值(即1.14611
)。我试过pd.to_numeric(df['Residual'].dt.seconds, downcast='integer')
了,但没有成功,还有其他一些方法。
任何输入都将不胜感激,因为我对使用 Python 和 pandas 数据框非常陌生。谢谢
解决方案
请查看时间增量对象文档。它本质上是两个datetime.date
/datetime.datetime
对象的区别。
此代码段将很容易地解释您想如何解决您的问题:
>>>from datetime import datetime
>>>d1 = datetime.now()
>>>d2 = datetime.now()
>>>d2-d1
datetime.timedelta(0, 8, 14319)
>>>(d2-d1).total_seconds()
8.014319
你应该尝试做df["Residual"].dt.total_seconds()
编辑:
df['Residual'].apply(lambda x: x.total_seconds())
推荐阅读
- javascript - addEventListener 在第一次执行后停止
- r - 使用 nls 进行指数回归
- mongodb - 如何仅打印 MongoDB 中子嵌入文档中的值?
- java - 如何在连接期间忽略空字符串?
- windows - MacOS .app 文件显示和行为类似于 Windows 资源管理器中的文件夹
- oracle - ORA-00904: : oracle 中的无效标识符错误修复
- python - 在python中获取录音的x和y数据
- flutter - ClipRRect 没有剪辑它的子小部件,我做错了什么?
- vba - 向模块添加过程会取消用户表单加载/显示,必须运行两次显示用户表单才能显示
- c++ - C ++ - 将双精度向量作为元组进行迭代