gpt4 book ai didi

python - 如何将特定月份值与 pandas 数据框中的日期相加?

转载 作者:行者123 更新时间:2023-12-01 01:00:28 30 4
gpt4 key购买 nike

我有一个这样的数据集

ID,DATE,NO,MONTH

1,24/04/2019,6,2019/09

1,24/04/2019,7,2019/09

我有几个月的时间为 DATE 列做广告。例如,我想在我的新列中看到 24/04/2019 添加 6 个月 -> 2019/10

错误是:

TypeError: can only concatenate str (not "int") to str

import pandas as pd

dataset = pd.read_csv("denemedf.txt", delimiter=",")
print(dataset['DATE'])
dataset['ADDED'] = 0 #new column
data_to_Array = np.asarray(dataset['DATE'])
#print(data_to_Array)

numbers = [3,6]

for i in range(len(data_to_Array)):
added_value = data_to_Array[i] + numbers[i]
dataset['ADDED'][i] = added_value

from datetime import datetime
print ( dataset['ADDED'].strftime("%Y/%m") )

我怎样才能在数据集['ADDED']中看到这个结果代表今年/月?

我希望我清楚地解释了我想做什么。

预期结果是这样的:

ID,DATE,NO,MONTH, ADDED

1,24/04/2019,6,2019/09,2019/7

1,24/04/2019,7,2019/09,2019/10

最佳答案

您应该首先使用 function 将 DATE 列字符串转换为日期时间。然后,您可以使用 lambda 函数来创建新列 pandas DateOffset .

dataset = pd.DataFrame({'DATE': ['24/04/2019', '24/04/2019'], 'NO': [6,7]})
dataset['DATE'] = dataset.apply(lambda x: datetime.datetime.strptime(x['DATE'], '%d/%m/%Y'), axis=1)
dataset['ADDED'] = dataset.apply(lambda x: x['DATE'] + pd.DateOffset(months=x['NO']), axis=1)

关于python - 如何将特定月份值与 pandas 数据框中的日期相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55845767/

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