十二 11

python数据可视化分析工具之Superset

python数据可视化分析工具之Superset

0 Superset 简介

Superset 是一款由 Airbnb 开源的“现代化的企业级 BI(商业智能) Web 应用程序”,其通过创建和分享 dashboard,为数据分析提供了轻量级的数据查询和可视化方案。
Superset 的前端主要用到了 ReactNVD3/D3,而后端则基于 Python 的 Flask 框架和 PandasSQLAlchemy 等依赖库,主要提供了这几方面的功能:

  • 集成数据查询功能,支持多种数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid
  • 通过 NVD3/D3 预定义了多种可视化图表,满足大部分的数据展示功能。如果还有其他需求,也可以自开发更多的图表类型,或者嵌入其他的 JavaScript 图表库(如 HighCharts、ECharts)。
  • 提供细粒度安全模型,可以在功能层面和数据层面进行访问控制。支持多种鉴权方式(如数据库、OpenID、LDAP、OAuth、REMOTE_USER 等)。

Superset 的搭建与使用非常简单,只需要一些 Python 基础,下面先从创建虚拟环境开始。 Continue reading

十二 11

python数据可视化分析工具之matplotlib

python数据可视化分析工具之matplotlib绘图实例

对于我们数据分析师来说,不仅要自己明白数据背后的含义,而且还要更直观的展示数据的意义。

matplotlib是受MATLAB的启发构建的。MATLAB是数据绘图领域广泛使用的语言和工具。MATLAB语言是面向过程的。利用函数的调用,MATLAB中可以轻松的利用一行命令来绘制直线,然后再用一系列的函数调整结果。

matplotlib有一套完全仿照MATLAB的函数形式的绘图接口,在matplotlib.pyplot模块中。这套函数接口方便MATLAB用户过度到matplotlib包。 Continue reading

十一 04

Shadowsocks Python版一键安装脚本

本脚本适用环境:
系统支持:CentOS 6,7,Debian,Ubuntu
内存要求:≥128M
日期:2018 年 02 月 07 日
作者:秋水逸冰

配置说明:
服务器端口:自己设定(如不设定,默认从 9000-19999 之间随机生成)
密码:自己设定(如不设定,默认为 teddysun.com)
加密方式:自己设定(建议aes-256-cfb,如不设定,默认为 aes-256-gcm)
备注:脚本默认创建单用户配置文件,如需配置多用户,安装完毕后参照下面的教程示例手动修改配置文件后重启脚本即可。 Continue reading

19

Python爬虫识别验证码

Python爬虫识别验证码

安装tesserocr

pip3 install tesserocr pillow

识别测试

yzm

将验证码图片放到项目根目录下,用tesserocr库识别该验证码,代码如下所示:

Continue reading

20

2019开发者调查:Python 或成赢家,Java 最不赚钱?

Stack Overflow 作为全世界最流行、最顶级的技术问答社区,其广泛的影响力毋庸置疑,虽然调查结果不能代表开发者社区中的每个人,但相信这些极具价值的数据有重大的参考意义。

废话不多说,先看看今年的调查结果有哪些亮点:

  • Python 是「流行度」增长最快的主流编程语言,不止在本次调查中再次上榜,并在流行度方面超越了 Java,还成为了第二大最受开发者喜爱的语言(仅次于 Rust)。所以 Python 成最大赢家?
  • 超过一半的受访者表示在他们十六岁左右写下了第一行代码,当然这种经历因国家和性别而异。
  • DevOps 专家和可靠性工程师是薪酬最高、经验最丰富的开发者,他们对工作最满意,并且正在寻找面向更底层业务的新工作。
  • 在进行调查的主要国家中,中国开发者最乐观,他们相信当下出生的人将拥有比父母更好的生活。而法国和德国等西欧国家的开发者对未来最不乐观。
  • 在考虑阻碍生产力的因素时,不同类型的开发者所面对的挑战也不相同。大部分男性开发者表示负责非开发工作对他们来说是一个问题,而女性受访者则认为不友好的工作环境对她们是一个很大的阻碍。
  • 受访者在被问到他们最后一次使用和不使用 Stack Overflow 解决编问题的时间,数据表明 Stack Overflow 每周为开发人员节省 30 到 90 分钟的时间

Continue reading

07

Python获取Cookie、设置Cookie的N种方法

方法一通过python的requests包:

获取cookies是通过response的cookies 属性,可以通过res.cookies["cookie_name"]的方式获取。

并且需要注意的是,这个是一个RequestCookieJar的实例,也就是说,在requests的操作里的cookie一般都是包装到了 Continue reading

07

[Python] – 爬虫之lxml库的用法

[Python] – 爬虫之lxml库的用法

HTML 示例代码

小试牛刀 Continue reading

07

python2 UnicodeDecodeError: ‘utf8′ codec can’t decode byte 0xbc in position 0: invalid start byte

python2报错 UnicodeDecodeError: ‘utf8′ codec can’t decode byte 0xbc in position 0: invalid start byte

这不是编码问题,是网址有压缩,下面是py2的写法

 

07

获取redis库中所有键值对

python获取所有数据,获取redis库中所有键值对

 

Redis 安装及常用命令

Redis可视化管理工具、集群管理工具

07

Python Redis pipeline操作

Redis是建立在TCP协议基础上的CS架构,客户端client对redis server采取请求响应的方式交互。

一般来说客户端从提交请求到得到服务器相应,需要传送两个tcp报文。

设想这样的一个场景,你要批量的执行一系列redis命令,例如执行100次get key,这时你要向redis请求100次+获取响应100次。如果能一次性将100个请求提交给redis server,执行完成之后批量的获取相应,只需要向redis请求1次,然后批量执行完命令,一次性结果,性能是不是会好很多呢?

答案是肯定的,节约的时间是客户端client和服务器redis server之间往返网络延迟的时间。这个时间可以用ping命令查看。

网络延迟高:批量执行,性能提升明显

网络延迟低(本机):批量执行,性能提升不明显

某些客户端(java和python)提供了一种叫做pipeline的编程模式用来解决批量提交请求的方式。

这里我们用python客户端来举例说明一下。 Continue reading