首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pandas自定义函数中的Forex_python

Pandas自定义函数中的Forex_python
EN

Stack Overflow用户
提问于 2017-08-13 12:50:00
回答 1查看 882关注 0票数 1

我正在尝试构建一个自定义函数,它可以应用于熊猫数据,并根据上个月最后一天的汇率(以Pstng Date为基数)将某种货币的数量转换为本地货币( Pstng Date)的金额。例如,如果张贴日期是2016-03-12,我想按照2016-02-28的汇率折算金额。

我使用的是转换函数的外汇巨蟒库-以下是我的数据文件:

代码语言:javascript
复制
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]
})

这是我的功能:

代码语言:javascript
复制
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:

代码语言:javascript
复制
df['Amount, DKK'] = np.vectorize(convert_rates2)(
    amount=df['Amount'],
    currency=df['Crcy'],
    PstngDate=df['Pstng Date']
)

但是,我得到以下错误:

AttributeError:'str‘对象没有属性'strftime’

有谁知道如何处理这个问题吗?不同的方法也是非常受欢迎的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-13 15:29:37

你可以试试这样的方法:

代码语言:javascript
复制
from datetime import datetime, timedelta

def convert_rates2(amount,currency,PstngDate):
    PstngDate = datetime.strptime(PstngDate, '%Y-%m-%d')
    if currency != 'DKK':
        return c.convert(base_cur=currency,dest_cur='DKK',amount=amount \
                     ,date_obj=PstngDate - timedelta(PstngDate.day))
    else:
        return amount

这将产生这样的结果:

代码语言:javascript
复制
df['Amount, DKK'] = np.vectorize(convert_rates2)(
    amount=df['Amount'],
    currency=df['Crcy'],
    PstngDate=df['Pstng Date']
)


df
Out[56]: 
   Amount Crcy  Pstng Date  Amount, DKK
0     100  DKK  2017-01-12          100
1    5000  CAD  2015-12-15        26375
2      40  GBP  2016-06-06          390
3      50  USD  2017-08-12          317
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45660529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档