2017.08.09回顾 seaborn两个坐标系 series中mixtype sorted key

本文介绍了作者在使用决策引擎、SQL抓取数据和评分卡工具包过程中遇到的问题及解决方法,重点讲解了如何使用Seaborn进行图表美化,特别是在处理有多个坐标系的图表时,通过指定`ax`参数来指定坐标系,以及混用seaborn和matplotlib.pyplot的方法。同时,讨论了Seaborn的默认颜色方案,并提出了对于少量类别时颜色配置的期望。

1、上午对现有决策引擎做了一些简单修改,没什么技术含量,注意的地方就是条件概率的计算

2、继续SQL抓取数据集,没什么技术含量,后来发现中间少抓了几个变量,已经补上,后面还需要check看是否遗漏变量

3、有了数据集,又开始耍自己的评分卡工具包,对工具包做了一些修改,美化barplot/修正排序BUG/regroup写成静态方法,过程中发现一些问题,也有一些收获

  • 我发现我给int64的series赋值了一些str,这个时候部分变成了str,部分还是long,dtype显示的是object
  • 我开始尝试用astype去改变整个series的类型,结果发现失败,后来才想起astype只是返回一个copy,又不会影响原始的series,查文档发现astype有一个copy参数,默认是True,如果改为False是不返回copy直接影响series呢?还是直接就不返回copy什么都不干?这一点需要尝试,我目前是直接把astype赋值回原来的series
  • 写了个函数解决形如'xxx-yyy'和’-1‘共同存在时的排序逻辑,前面主要就是负数的影响,这个时候仍然可以按'-'做split,'-1'.split('-')是含有两个元素的tuple,('','1'),如果第一个元素是'',那就用整个-1做排序,如果前面不是'',就拿xxx做排序,这个方法完美解决。
  • sorted以前惯用的写法是sorted(dict.items(),key=lambda item:item[0]),key就是跟一个函数,lambda只是一个匿名函数而已,复杂逻辑要单起一个函数,上面一条讲的就是单起的函数,这个函数作用于前面的dict.items(),提醒一下dict.items()是把dict转成一个tuple组成的list,每个tuple含key和value两个元素
  • 一定记住定义成员方法的时候不要忘记写self,不然在调用的时候会报一个参数个数不对的错误
  • 利用seaborn美化图表,开始的一个难点就是我的图中有两个坐标系,我起初是通过坐标系对象作图,但是seaborn是通过类直接调用的,后来我在官方文档中发现sns.ba
### 三级标题:解决 `plt.style.use('seaborn')` 报错问题 在使用 `matplotlib` 的 `style.use()` 方法设置绘图风格时,若传递 `'seaborn'` 作为样式名称,可能会出现 `'seaborn' is not a valid package style` 错误。该错误通常表示 `'seaborn'` 样式未被正确识别,可能的原因包括样式名称拼写错误、`seaborn` 库未正确安装或导入,或者当前 `matplotlib` 未注册该样式。 为确保 `'seaborn'` 样式能被正确加载,首先应确认 `seaborn` 是否已安装。可以通过以下命令安装或更新 `seaborn`: ```bash pip install seaborn --upgrade ``` 在代码中使用 `seaborn` 设置样式时,推荐使用 `seaborn.set()` 或 `seaborn.set_style()` 方法,而不是直接使用 `matplotlib.pyplot.style.use()`。以下是一个正确应用 `seaborn` 样式的示例: ```python import seaborn as sns import matplotlib.pyplot as plt # 设置 seaborn 的默认绘图风格 sns.set() # 绘制示例图 plt.plot([1, 2, 3], [4, 5, 1]) plt.title("Seaborn Style Applied") plt.show() ``` 如果希望使用 `matplotlib.style.use()` 方法,可以尝试手动注册 `seaborn` 样式文件。首先,检查当前可用的样式列表: ```python from matplotlib import style print(style.available) ``` 如果 `'seaborn'` 不在输出列表中,则需要手动加载 `seaborn` 的样式文件。可以通过指定样式文件的路径或 URL 来注册该样式: ```python style.use('https://raw.githubusercontent.com/mwaskom/seaborn/master/seaborn/matplotlibrc') ``` 此外,确保 `seaborn` 和 `matplotlib` 的版本兼容性良好。版本不兼容可能导致样式无法识别。可以通过以下命令检查版本信息: ```bash pip show seaborn matplotlib ``` 若问题依旧存在,建议清除缓存并重新安装相关库以恢复默认配置。 ### 三级标题:总结 在使用 `matplotlib` 设置 `seaborn` 样式时,应确保 `seaborn` 库已正确安装并导入。推荐使用 `seaborn.set()` 或 `seaborn.set_style()` 方法设置绘图风格,而非直接使用 `matplotlib.style.use()`。若仍需使用 `style.use()`,则需手动注册 `seaborn` 的样式文件,并确保库版本兼容。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值