9款强大的Python工具包,第5款神器期待已久( 二 )
而PandasGUI的出现 , 让我大为经验 , 它能够直接把pandas的DataFrames进行可视化 , 让我们数据分析过程中对数据有一个更加清晰的认知 。
安装
$ pip install pandasgui或$ pip install git+
用法
首先 , 创建一个简单的DataFrames:
import pandas as pdfrom pandasgui import showdf = pd.DataFrame(([[1, 2, 3], [4, 5, 6], [7, 8, 9]]), columns=['a', 'b', 'c'])show(df)
如果你将代码作为脚本而不是在IPython或Jupyter中运行 , 则需要这样做:
show(df, settings={'block': True})
Pippi从事计算机视觉 , 能够找到很多和图像处理相关的Python库 。 从事自然语言处理 , NLP相关的工具包也是层出不穷 。
而音乐作为一种常见的多媒体形式 , 却鲜有相关的Python工具包 。
如果你想通过代码处理一段音乐 , 然后对它进行控制和调整 , 就会不知所措、无从下手 。
Pippi[3]就可以满足你的这个需求 , 它是一款用于Python的音乐处理库 , 它包含了一些方便的音乐数据结构 , 如SoundBuffer和Wavetable , 使得处理音乐变得非常简单 。 除此之外 , 它还可以对音乐格式进行转换 。
from pippi import dspsound1 = dsp.read('sound1.wav')sound2 = dsp.read('sound2.flac')# Mix two soundsboth = sound1--tt-darkmode-color: #A3A3A3;">pylambdarest当让你用Python写一个REST API接口时 , 大概率会想到Flask 。
而pylambdarest[4]是Flask之外一个非常不错的选择 。
它是一款轻量级的框架 , 用于使用AWS Lambda + API网关构建REST API 。
与大多数其他Python框架不同 , 它不提供任何路由功能 , 路由由API网关本身处理 。
下面通过一个示例来对于pylambdarest与其他工具包的不同之处 ,
其他工具包
import jsondef handler(event, context):body = json.loads(event["body"])query_params = event["queryStringParameters"]path_params = event["pathParameters"]return {"statusCode": 200,"body": json.dumps({"message": f"Hello from AWS Lambda {body['name']}!!"})}
pylambdarest
from pylambdarest import route@route()def handler(request):body = request.jsonquery_params = request.query_paramspath_params = request.path_paramsreturn200, {"message": f"Hello from AWS Lambda {body['name']}!!"}
当使用API网关和python Lambdas时 , 最常见的模式是由代理API网关资源触发一个唯一的Lambda 。 Lambda然后使用类似于Flask的框架来完成所有的路由 。 在API Gateway + Lambda上下文中 , 作者认为路由应该由API Gateway本身处理 , 然后将请求转发给针对每个资源或endoint的特定Lambda函数 。
FixitFixit[5]是一个对Flake8进行补充的lint框架 。 它基于LibCST , 这使得提供自动修复成为可能 。 通过模式匹配、测试工具包和实用工具助手(例如范围分析) , 可以很容易地构建Lint规则 。 它是优化的效率 , 易于定制 。
安装
$ pip install fixit
通过配置fixit规则 , 可以对Python代码进行静态检查 , 能够有效的提升Python代码的质量 。
isortPython是一门对语法要求相对宽松的编程语言 , 因此对于很多Python初学者来说这门语言非常简单 。
但是 , Python中有很多约定成俗的规则 , 通过这个规则的约束和遵从 , 能够提升Python代码的可读性 , 降低维护成本 。
以Python代码中的import为例 , 就有一定的规则 , 内置模块、自定义模块、第三方模块的导入都是有一定顺序的 。
isort[6]就是针对Python中import部分自动规范化的工具包 , 通过使用isort , 可以迅速按照规则调整模块导入部分 。
使用isort之前:
from my_lib import Objectimport osfrom my_lib import Object3from my_lib import Object2import sysfrom third_party import lib15, lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8, lib9, lib10, lib11, lib12, lib13, lib14import sysfrom __future__ import absolute_importfrom third_party import lib3print("Hey")print("yo")
使用isort之后:
from __future__ import absolute_importimport osimport sysfrom third_party import (lib1, lib2, lib3, lib4, lib5, lib6, lib7, lib8,lib9, lib10, lib11, lib12, lib13, lib14, lib15)from my_lib import Object, Object2, Object3print("Hey")print("yo")
结语目前 , Python已经拥有数不清的第三方工具包 。 其中 , 不乏一些非常强大且好用的 。
或许 , 当我们在开发过程中面临一个难题 , 需要花费很多功夫 , 开发大量代码才能完成的工作 , 使用第三方工具包只需要短暂的几行代码就可以解决 。
因此 , 应该善于利用这些好用的工具包 , 它不仅能够节省时间 , 提升工作效率 , 还能够提供很多实用的辅助功能 。
参考资料[1] pyinspect:
[2] jazzit:
[3] Pippi:
- 空调|让格力、海尔都担忧,中国取暖“新潮物”强势来袭,空调将成闲置品?
- 手机|这个超强App,让手机快3倍,流畅到起飞
- 互联网|强制收集个人信息?国家网信办拟为38类App戴紧箍
- 音频效果|Boom 3D for Mac音效增强软件
- 辞职|继大量员工辞职后,刘强东又摊上大事,网友:这回玩大了!
- 发展|新基建发展迅猛,必然会是一个巨大的市场机遇
- 曝光|OPPO新机曝光,配置强悍颜值动人,“三金影后”为其代言
- 骁龙|骁龙865很受伤!联发科新SoC竟然比我还强?!
- 食品|专家:中国加强新冠病毒污染防控 进口冷链食品可正常购买
- 超强|RedmiNote9系列发布!天玑800U赋予超强5G性能