python - Frozenset 不在 Spyder 变量资源管理器中显示其内容
问题描述
当我在 Spyder 中打开规则时,将先验算法应用于 Market Basket Optimization 数据集,而不是显示frozenset({'light cream', 'chicken'})
节目frozenset object of builtins module
我的代码:
import pandas as pd
# Read dataset
dataset = pd.read_csv('Market_Basket_Optimisation.csv', header = None)
transactions = []
for i in range(0, 7501):
transactions.append([str(dataset.values[i,j]) for j in range(0, 20)])
# Train model
from apyori import apriori
rules = apriori(transactions, min_support = 0.003, min_confidence = 0.2, min_lift = 3, min_length = 2)
# To get the output
results = list(rules)
图片供参考:
解决方案
(这里是 Spyder 维护者)简短回答:这个问题的原因很简单:我们的变量资源管理器不支持frozenset
's。这就是为什么它们不会显示的原因,除非您关闭名为 的选项Exclude unsupported data types
,然后它们将显示为通用对象。
长答案:我们不能简单地使用repr
对象的 来在变量资源管理器中显示它。那是因为如果你的对象非常复杂(即它有太多的元素或者它由带有 long 的对象组成repr
),Spyder 控制台会挂起试图计算它的repr
. 经过多年支持复杂的科学工作流程,我们了解到这一点很艰难。
因此,对于每个类型对象,我们需要决定它在变量资源管理器中的显示方式。例如,我们显示数据框的列名以及列表和字典的前十个元素。我们已经有一个小型库可以做到这一点,但是每次人们想要看到新类型的对象时,我们都需要扩展它。
注意:我们计划通过 Spyder 4(将于 2019 年发布)中的插件扩展该过程。
推荐阅读
- regex - 正则表达式模式测试评估为真
- asp.net-mvc - 如何向 Identity Server LogoutRequest 添加自定义参数?
- django - 气流:django / 记录
- sql-server - HSQLDB 为 SQL Server 插入日期时间格式引发异常
- sql - 优化 PostgreSQL 视图
- javascript - 如何用Javascript计算小数点后的数字?
- r - R中的logitmfx错误计算稳健的集群标准误差
- javascript - 模式的自定义属性
- azure - Azure 资源管理器模板参数文件中突然无法使用数组类型
- r - 如何将urca结果保存为R中的数据框