我有一个熊猫数据框,其中包括“定价日期”和“到期日”列。 “到期日”列有时包含“永久”而不是日期,因此,我尝试遍历该列,在“永久”的地方,从“定价日期”中获取(当前为字符串)值,然后加上100年。这是我的代码:
from dateutil.relativedelta import relativedelta
def adj_perp(x,y):
if x=='Perpetual':
format_string = "%d/%m/%Y"
datetime_object = datetime.strptime(y, format_string).date()
maturitydt = datetime_object + relativedelta(years=100)
else:maturitydt=x
#new_date_string = datetime.strftime(new_date, format_string).replace(' 0', ' ')
print(maturitydt)
return maturitydt
raw_data.map(adj_perp(raw_data['Tranche Maturity Date'],raw_data['Pricing Date']),raw_data['Tranche Maturity Date'])
但是我无法使它正常工作。
这是我得到的错误:
getattr 中的文件“ C:\ Users \ user \ anaconda3 \ lib \ site-packages \ pandas \ core \ generic.py”,行5274 返回对象。 getattribute ((自身,名称) AttributeError:“ DataFrame”对象没有属性“ map”
请问有人有什么建议吗?谢谢