这是我时不时回想起的一个问题。我有一个数据集,其中多列(还有其他列,这些只是与问题相关的列)用于指示日期和时间。在将它们从 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 个元素”所以我添加了几个额外的列。