【发布时间】:2021-06-06 22:21:42
【问题描述】:
这是我不时回来的一个问题。我有一个数据集,其中使用多个列(还有其他列,这些只是与问题相关的列)用于指示日期和时间。在将它们从 float 转换为 int 之后,我现在有了:
year mo dy hr min sec Valid Mag
1234 1886 9 1 2 51 4.0 7.3
1286 1893 6 4 2 27 4.0 7.0
1329 1897 8 5 0 10 4.0 7.7
1366 1901 8 9 9 23 4.0 7.2
1368 1901 8 9 18 33 4.0 7.4
在 DataFrame 中将其转换为 DateTime 的最清晰和最惯用的方法是什么?不仅仅是与日期和时间相关的列?
我在另一个项目中使用了这个:
sun['Date'] = sun['Year'].map(str)+ '-' + sun['Month'].map(str) + '-' + sun['Day'].map(str)
pd.to_datetime(sun['Date'], utc=False)
虽然这可行,但我认为肯定有更好、更通用的方法。具体来说,我希望将相关字段组合到 DateTime 中,但是,数据框中还有其他字段。我在 SQL 中看到了对此的良好响应,但这不是我想要的。
编辑:我收到了一些关于日期和时间的 DataFrames 的可靠答案。但是,问题是所有都会导致相同的错误“ValueError:长度不匹配:预期轴有 19 个元素,新值有 6 个元素”所以我添加了几个额外的列。
【问题讨论】:
标签: python pandas datetime python-datetime