我有一个关于重新格式化某些行值的问题。我有 2 个数据帧,因此我可以更改第一个数据帧以与第二个数据帧匹配,或更改第二个数据帧以与第一个数据帧匹配。让我把我的问题说得更清楚一点。
这是数据框 1 的片段
年月日 | FG |
---|---|
20140101 | 78 |
20140102 | 72 |
{'YYYYMMDD': {0: 20140101, 1: 20140102, 2: 20140103, 3: 20140104, 4: 20140105}, 'FG': {0: 78, 1: 72, 2: 89, 3: 68, 4: 56}, 'TG': {0: 74, 1: 90, 2: 88, 3: 82, 4: 60}, 'RH': {0: 65, 1: 2, 2: 59, 3: 4, 4: 0}, 'NG': {0: ' 6', 1: ' 4', 2: ' 6', 3: ' 6', 4: ' 5'}}
这是数据框 2 的片段
事件_id | 日期 |
---|---|
87680 | 2012-01-01 |
87681 | 2012-02-01 |
{'event_id': {0: 87680, 1: 87681, 2: 87682, 3: 87683, 4: 87684}, 'registered_crimes': {0: 442.0, 1: 370.0, 2: 355.0, 3: 275.0, 4: 307.0}, 'crime': {0: 'Diefstal/inbraak woning', 1: 'Diefstal/inbraak woning', 2: 'Diefstal/inbraak woning', 3: 'Diefstal/inbraak woning', 4: 'Diefstal/inbraak woning'}, 'region': {0: 'Rotterdam', 1: 'Rotterdam', 2: 'Rotterdam', 3: 'Rotterdam', 4: 'Rotterdam'}, 'date': {0: '2012-01-01', 1: '2012-02-01', 2: '2012-03-01', 3: '2012-04-01', 4: '2012-05-01'}}
如您所见,两个数据框都有一个指定日期的列,我希望这些列的行值与其格式匹配,因为我稍后将创建一个数据库,我想在其中加入日期上的表。我已经尝试了很多,但我不断收到错误消息。我希望有人能帮助我!预先感谢。
我想以 yyyy-mm-dd 字符串格式更改 YYYYMMDD 列的数据帧 1 的行值以匹配 df2 日期列,或将日期列的数据帧 2 的行值更改为 yyyymmdd 字符串格式以匹配 df1。我不断收到错误。由于某种原因,如果我在 to_datetime 的帮助下更改 YYYYMMDD 行值,则日期与 csv 文件中的原始日期不匹配,它从 2014-01-01 开始,并不断重复,仅更改之后的时间戳。
根据数据片段,您可以使用以下代码:
df2['date'] = pd.to_datetime(df2['date'], format="%Y-%m-%d")
df1['YYYYMMDD'] = pd.to_datetime(df1['YYYYMMDD'], format="%Y%m%d")
这会将两列转换为相同的日期时间格式