大家好,又见面了,我是你们的朋友全栈君。
我最近看了两节关于数据分析的课程,其中最基础也最重要的知识就是支持度,置信度和提升度了。而在打印提升度的相关信息时,我遇到了一些麻烦!
老师用的是 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)
打印结果如下:
岂有此理,只给两个数据是什么鬼呀!我还做啥数据分析呀!于是百思不得解的我百度了一下,找到了原因:pandas是有相关的输出显示设置的!直接放出来!
抱歉,我这是做在onenote上面的笔记,是截图来的,可能视觉效果有些差!
至于怎么使用这些参数呢?常用的打印相关设置函数有三种!
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一下!看看打印了啥出来:
哇,太耐思了吧,这才叫数据分析嘛!前项集,后项集,支持度,提升度应有尽有!但是,兄弟们别乐极生悲啊!我们回头看看!当我们想打印自己构建的数据集的时候,可以看到咱们的数据被折叠了!又是可恶的省略号!
retail = pd.DataFrame(shopping_basket)
print(retail)
不过有了刚刚的处理经验之后,我已经学会了如何更改显示参数之类的了,我看了看那张表,emmmm,就是你了!
我加上了这样的一行代码之后:
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)
哇,我的世界变美好了!
好了,这就是我遇到的微不足道的问题了,希望能帮助想入门数据分析的同学!因为我没看过pandas直接操作,踩得坑都塌了,希望大家不要重蹈覆辙了!
既然都看到最后了,我就安利一个有很多优秀数据集的网站吧!谢谢大家费心看完我的博客! 数据集!!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/174327.html原文链接:https://javaforall.cn