如何重新格式化数据帧某一列的行值

问题描述 投票:0回答:1

我有一个关于重新格式化某些行值的问题。我有 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 开始,并不断重复,仅更改之后的时间戳。

python-3.x pandas dataframe series
1个回答
0
投票

根据数据片段,您可以使用以下代码:

df2['date'] = pd.to_datetime(df2['date'], format="%Y-%m-%d")
df1['YYYYMMDD'] = pd.to_datetime(df1['YYYYMMDD'], format="%Y%m%d")

这会将两列转换为相同的日期时间格式

© www.soinside.com 2019 - 2024. All rights reserved.