gpt4 book ai didi

python - 使用 pandas 数据框列中的值更改 DateTime 对象的日期

转载 作者:行者123 更新时间:2023-12-01 01:13:23 26 4
gpt4 key购买 nike

假设我有一个包含 10,000 多行的数据框,其中包含 DayMonth 列,其中 Month 是日期时间对象。 Month 对象中的“day”值不正确,因此我想将其替换为 Day 列中的相应值。我该如何去做呢?

import datetime as dt

df = pd.DataFrame({
'Month': [dt.date(2017,9,1),dt.date(2017,11,1),dt.date(2017,9,1)],
'Day': [7, 21,14],
})

Day Month
7 2017-09-01
21 2017-11-01
14 2017-09-01

所以我希望最终结果如下所示:

Day Month       New_Col
7 2017-09-01 2017-09-07
21 2017-11-01 2017-11-21
14 2017-09-01 2017-09-14

最佳答案

将列 Month 转换为日期时间 to_datetime并添加转换的Dayto_timedelta s:

df['New_Col'] = pd.to_datetime(df['Month']) + pd.to_timedelta(df['Day'], unit='d')
print (df)
Month Day New_Col
0 2017-09-01 7 2017-09-08
1 2017-11-01 21 2017-11-22
2 2017-09-01 14 2017-09-15

如果需要减去一天:

df['New_Col'] = pd.to_datetime(df['Month']) + pd.to_timedelta(df['Day'] - 1, unit='d')
print (df)
Month Day New_Col
0 2017-09-01 7 2017-09-07
1 2017-11-01 21 2017-11-21
2 2017-09-01 14 2017-09-14

关于python - 使用 pandas 数据框列中的值更改 DateTime 对象的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54609307/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com