我最近看了两节关于数据分析的课程,其中最基础也最重要的知识就是支持度,置信度和提升度了。而在打印提升度的相关信息时,我遇到了一些麻烦!

老师用的是 Jupyter Notebook 来演示,而我用的是pycharm(其实跟编译器没关系),然后打印提升度时我发现有很多数据我无法打印出来!只是给我留了半串省略号…我就纳闷了,到底是啥原因?

shopping_basket = {
    'ID': [1, 2, 3, 4, 5, 6],
    'Basket':[
        ['Onion', 'Beer', 'Chicken', 'Drink', 'Burger', 'Chips', 'Disper'],
        ['Onion', 'Beer', 'Chicken', 'Burger', 'Chips', ],
        ['Onion', 'Chicken', 'Drink', 'Burger', 'Chips', 'Disper'],
        ['Onion', 'Chicken', 'Drink'],
        ['Beer', 'Chicken', 'Drink', 'Burger', 'Chips', 'Disper'],
        ['Drink', 'Burger', 'Chips', 'Disper']
    ]
}

retail = pd.DataFrame(shopping_basket)
print(retail)

# 数据集中都是由字符串组成的,需要转化成数值编码
# 用到了方法,默认情况删除某一行
retail_id = retail.drop('Basket', 1)
print(retail_id)

retail_Basket = retail.Basket.str.join(',')
print(retail.Basket)
print(retail.Basket.str)
print(retail_Basket)

retail_Basket = retail_Basket.str.get_dummies(',')
print(retail_Basket)

retail = retail_id.join(retail_Basket)
print(retail)

# 只考虑支持度,多种组合出现十分频繁
frequent_itemsets2 = apriori(retail.drop('ID', 1), use_colnames=True)
print(frequent_itemsets2)

# 因此用到提升度来筛选数据
rules2 = association_rules(frequent_itemsets2, metric='lift', min_threshold=1.5)
print(rules2)

打印结果如下:

python数据显示不全怎么办 pycharm数据显示不全_python数据显示不全怎么办


岂有此理,只给两个数据是什么鬼呀!我还做啥数据分析呀!于是百思不得解的我百度了一下,找到了原因:pandas是有相关的输出显示设置的!直接放出来!抱歉,我这是做在onenote上面的笔记,是截图来的,可能视觉效果有些差!

python数据显示不全怎么办 pycharm数据显示不全_python_02


至于怎么使用这些参数呢?常用的打印相关设置函数有三种!

value = '参数值'

pd.set_option('参数名', value)  # 设置相关显示选项
pd.get_option('参数名', value)  # 获取相关显示选项
pd.reset_option('参数名', value)  # 恢复默认相关选项

我们观察一下打印结果可以判断出来,咱们应该是最大行数和最大宽度被限制了,因此我们只要写下这三行代码:

pd.set_option('display.max_columns', None)   # 显示完整的列
pd.set_option('display.max_rows', None)  # 显示完整的行
pd.set_option('display.expand_frame_repr', False)  # 设置不折叠数据

然后Run一下!看看打印了啥出来:

python数据显示不全怎么办 pycharm数据显示不全_数据分析_03


哇,太耐思了吧,这才叫数据分析嘛!前项集,后项集,支持度,提升度应有尽有!但是,兄弟们别乐极生悲啊!我们回头看看!当我们想打印自己构建的数据集的时候,可以看到咱们的数据被折叠了!又是可恶的省略号!

retail = pd.DataFrame(shopping_basket)
print(retail)

python数据显示不全怎么办 pycharm数据显示不全_python_04

不过有了刚刚的处理经验之后,我已经学会了如何更改显示参数之类的了,我看了看那张表,emmmm,就是你了!

python数据显示不全怎么办 pycharm数据显示不全_python_05


我加上了这样的一行代码之后:

pd.set_option('display.max_columns', None)   # 显示完整的列
pd.set_option('display.max_rows', None)  # 显示完整的行
pd.set_option('display.expand_frame_repr', False)  # 设置不折叠数据
pd.set_option('display.max_colwidth', 100)

python数据显示不全怎么办 pycharm数据显示不全_数据_06


哇,我的世界变美好了!

好了,这就是我遇到的微不足道的问题了,希望能帮助想入门数据分析的同学!因为我没看过pandas直接操作,踩得坑都塌了,希望大家不要重蹈覆辙了!