我想建立可應用於大熊貓數據框自定義功能,將一些貨幣的注入量量我的當地貨幣(DKK
)自定義函數根據的匯率前一個月的最後一天(基地位於Pstng Date
)。 因此,舉例來說,如果過帳日期是2016年3月12日,我想根據2016年2月28日的匯率將金額兌換。Forex_python在熊貓數據幀
我現在用的是forex-python庫的轉換功能 - 這是我的數據框:
df = pd.DataFrame({
'Crcy': ['DKK','CAD','GBP','USD'],
'Pstng Date': ['2017-01-12','2015-12-15','2016-06-06','2017-08-12'],
'Amount': [100,5000,40,50]
})
這裏是我的功能:
from forex_python.converter import CurrencyRates
c = CurrencyRates()
def convert_rates2(amount,currency,PstngDate):
if currency != 'DKK':
return c.convert(base_cur=currency,dest_cur='DKK',amount=amount \
,date_obj=PstngDate - datetime.timedelta(PstngDate.strftime('%d')))
else:
return amount
的方式我想它應用到DF :
df['Amount, DKK'] = np.vectorize(convert_rates2)(
amount=df['Amount'],
currency=df['Crcy'],
PstngDate=df['Pstng Date']
)
但是,我得到以下錯誤:
AttributeError: 'str' object has no attribute 'strftime'
有沒有人有如何解決這個問題的想法?不同的方法也非常受歡迎。
請張貼完整的錯誤消息。 – DyZ