我正在使用Python FinTS库以MT940格式从银行获取我的帐户对帐单,并使用pandas
进一步处理它。但是,amount列不是float,而是MT940库量对象,其中包含实际金额和货币(参见http://mt940.readthedocs.io/en/latest/mt940.html)。
0 <-7.99 EUR>
1 <-22.12 EUR>
2 <-66.19 EUR>
3 <-11.49 EUR>
如何访问这些对象的金额组件?我的工作但完全是unpythonic的方法是将它们转换为str
并在将其投入浮动之前将其分割出来。
答案 0 :(得分:3)
map
+ operator.attrgetter
使用map
可调用来调用operator.attrgetter
。这简洁明了。
from operator import attrgetter
df['amount'] = df['column'].map(attrgetter('amount'))
这是另一个强大的选择,并且速度很快。
df['amount'] = [x.amount for x in df['column'].tolist()]