首页 > 解决方案 > 如何解决 IndexError:在数据集上应用 TransactionEncoder() 时,索引 754 超出轴 0 的范围,大小为 754?

问题描述

我有一个形状为 754 行和 6366 列的数据集。在应用 Apriori 算法之前,我对其应用了 TransactionEncoder()。

我的代码:

import mlxtend
from mlxtend.preprocessing import TransactionEncoder
te = TransactionEncoder()
te_ary = te.fit(df1)
te_ary2=te_ary.transform(df1)
df2 = pd.DataFrame(te_ary2, columns=te.columns_)

错误是:

IndexError                                Traceback (most recent call last)
<ipython-input-66-563ab8f9870d> in <module>
----> 1 te_ary2=te_ary.transform(df1)

C:\ProgramData\Anaconda3\lib\site-packages\mlxtend\preprocessing\transactionencoder.py in transform(self, X, sparse)
    127                 for item in transaction:
    128                     col_idx = self.columns_mapping_[item]
--> 129                     array[row_idx, col_idx] = True
    130         return array
    131 

IndexError: index 754 is out of bounds for axis 0 with size 754

谁能告诉我如何解决这个问题?

标签: pythonpandasmachine-learning

解决方案


推荐阅读