Frozenset не отображает его содержимое в Spyder Variable Explorer - PullRequest
0 голосов
/ 07 мая 2018

После применения алгоритма apriori к набору данных Market Basket Optimization при открытии правила в Spyder вместо отображения 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)

Dataset

Изображения для справки:

Первый случай

Второй случай

Ответы [ 3 ]

0 голосов
/ 28 февраля 2019

Вам необходимо выполнить print(results), поскольку обозреватель переменных в Spyder не поддерживает типы данных frozenset.

0 голосов
/ 03 мая 2019

Чтобы напечатать каждое правило с небольшим разделением между ними, попробуйте "

for i in results:
    print(i)
    print('**********')
0 голосов
/ 09 мая 2018

( сопровождающий Spyder здесь ) Краткий ответ : Причина этой проблемы очень проста: мы не поддерживаем frozenset в нашем обозревателе переменных.Вот почему они не отображаются, если вы не отключите опцию, называемую Exclude unsupported data types, и после этого они отображаются как общие объекты.

Длинный ответ : Мы не можем просто использовать repr объекта, чтобы отобразить его в Проводнике переменных.Это потому, что если ваш объект довольно сложный (то есть имеет слишком много элементов или состоит из объектов с длинными repr), консоль Spyder зависает, пытаясь вычислить его repr.Мы узнали, что это сложный путь после многих лет поддержки сложных научных рабочих процессов.

Поэтому для каждого типа объекта нам нужно решить, как он будет отображаться в Обозревателе переменных.Например, мы показываем имена столбцов для Dataframes и десять первых элементов списков и диктов.У нас уже есть небольшая библиотека для этого, но мы должны расширять ее каждый раз, когда люди хотят видеть новые объекты типов.

Примечание : мы планируем сделать этот процесс расширяемым с помощью плагинов вSpyder 4 (будет выпущен в 2019 году).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...