为什么这个熊猫数据透视表不起作用?



我的代码从Excel中获取银行对账单并创建一个数据框架,该数据框架根据描述对每个交易进行分类:

import pandas as pd
import openpyxl
import datetime as dt
import numpy as np
dff = pd.DataFrame({'Date': ['20221003', '20221005'],
'Tran Type': ['BOOK TRANSFER CREDIT', 'ACH DEBIT'],
'Debit Amount': [0.00, -220000.00],
'Credit Amount': [182.90, 0.0],
'Description': ['BOOK TRANSFER CREDIT FROM ACCOUNT 98743987', 'USREF2548 ACH OFFSET'],
'Amount': [-220000.00, 182.90]})
import re
dff['Category'] = dff['Description'].str.findall('Ref|BCA|Fund|Transfer', flags=re.IGNORECASE)

但是这个代码不能工作。知道为什么吗?

pivotf = dff
pivotf = pd.pivot_table(pivotf, 
index=["Date"], columns="Category",
values=['Amount'],
margins=False, margins_name="Total")

错误信息是TypeError: unhashable type: 'list'

当我从"Category"对于其他任何东西,它工作得很好。

谢谢!

在执行(未测试)之前添加以下行:

import numpy as np
dff['category'] = [x[0] if not x.isempty() else np.nan for x in dff['category']]

这将确保你的类别不是一个列表(它不能被散列)。

最新更新