PyHubWeekly | 第十二期:Python数据分析师不可错过的优质项目

简介: PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly[1],如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~

前言

PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。

我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly[1],如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~

本期为大家推荐GitHub上5个优质的Python项目,它们分别是:

git-imergehomuProxyPoolPythonDataScienceHandbookselenium

下面分别来介绍一下上述5个GitHub项目。

git-imerge

Star:2k

git-imerge[2]是一款用于增量合并分支、减少冲突的Python小工具。

在使用git进行版本控制的过程中,最令人痛苦的事情之一就是合并时产生的冲突,在解决冲突的过程中,不仅面临很大的误操作风险,还需要很多让人苦不堪言的手动操作。

当然,在这些冲突中,有一些是无法避免的,但是也有很多事可以避免的,使得冲突最小化。

当使用git-imerge进行增量合并时,它会给出如下提示,

while not done:
    <fix the conflict that is presented to you>
    <"git add" the files that you changed>
    git-imerge continue

解决完冲突之后,使用如下命令完成修改,

git-imerge finish

homu

Star:638

homu[3]是一款与Github继承的机器人小工具,一款增强Github的自动化工具。

42.png


以Travis CI为例,如果将pull请求发送到存储库,Travis CI会立即显示测试结果,这样虽然看似很好。但是,在几个其他的pull请求被合并到主分支之后,pull请求在被合并到主分支之后可能会破坏一些东西。

要解决这个问题,应该在合并之前执行测试过程,而不是在接收到pull请求之后。你可以在每次合并pull请求之前手动单击“restart build”按钮。

显然,每次手动执行这个过程是很麻烦的,homu可以自动执行此过程。它监听pull 请求,然后通过集成服务对它进行测试,只有当它通过所有测试时,它才会被合并到master中。

ProxyPool

Star:1.2k

ProxyPool[4]是一款高效的代理池工具。

我们在很多工作场景下会用到代理,例如,一个比较典型的场景:爬虫。通过这些代理,我们可以解决针对不同网站的请求问题,但是,有些代理是收费的,有些是免费的,当需要到用到免费代理时却无从下手。

ProxyPool提供了免费高效的代理池,它具有如下特点,

定时抓取免费代理网站,简易可扩展。使用 Redis 对代理进行存储并对代理可用性进行排序。定时测试和筛选,剔除不可用代理,留下可用代理。提供代理 API,随机取用测试通过的可用代理。

安装依赖包

使用ProxyPool之前首先需要安装依赖包,

pip3 install -r requirements.txt

运行代理池

ProxyPool提供Tester、Getter、Server三种方法,可以单独运行,也可以全部运行。

全部运行,命令如下,

python3 run.py

单独运行,命令如下,

python3 run.py --processor getter
python3 run.py --processor tester
python3 run.py --processor server

PythonDataScienceHandbook

Star:22.7k

PythonDataScienceHandbook[5]是一个使用Jupyter Notebook编写的一个数据科学手册。

数据分析、挖掘是Python比较热门的一个应用领域,也是现在在企业中应用和岗位较多的方向。所以,我认为,如果学习Python,数据科学是很多同学都无法绕开的,因此,掌握数据科学的技能是非常有必要的。

在数据科学中,经常用到的第三方库主要有如下几个,

numpypandasmatplotlibscikit-learn

43.png

通过PythonDataScienceHandbook,你不仅可以能够学到数据分析、挖掘、机器学习的理论知识,还可以在这些知识的过程中掌握上述这些常用Python第三方库的使用。

selenium

Star:17.3k

selenium[6]是一款热门、强大的web自动化工具。

我们每天大多数时间都花费在浏览器上,例如,知识和数据的获取。我们需要频繁、重复的访问web浏览器。虽然,我们已经对手动访问习以为常,但是,其中有很多工作是可以用自动化工具替代,可以解放一下双手。

此前,我曾介绍过一款web自动化工具helium,它就是基于selenium开发的一款工具。

但是,这些被封装好的工具难免定制性太强,灵活度不够,我们可以发散思维,基于selenium开发出一款个性化的自动化工具集,来满足个人的需求。此外,selenium还支持如下多种编程语言的API接口,

C#JavaScriptJavaPythonRuby

以Python为例简单的介绍一下selenium的使用。

安装

pip install -U selenium

selenium的运行,需要依赖不同浏览器的驱动,例如,Firefox、Google、Edge,下面以Firefox给出一段示例代码,

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Firefox()
browser.get('http://www.yahoo.com')
assert 'Yahoo' in browser.title
elem = browser.find_element_by_name('p')  # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)
browser.quit()

这样就可以在浏览器中完成一系列的动作。

相关文章
|
12天前
|
人工智能 数据可视化 数据挖掘
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
【python】Python航空公司客户价值数据分析(代码+论文)【独一无二】
|
10天前
|
数据采集 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析
在这篇文章中,我们将探索Python在数据分析中的应用,介绍几个关键的库,如Pandas、NumPy、Matplotlib,以及如何使用它们进行有效的数据处理和可视化。本文旨在为初学者提供一个清晰、简洁的指南,让读者能够快速掌握使用Python进行数据分析的基本技能,并通过一个实例加深理解。不同于其他文章的冗长解释和复杂示例,我们将以最直接、易懂的方式,让你迅速上手,即使是完全没有编程背景的读者也能轻松跟上。
|
2天前
|
数据可视化 数据挖掘 Python
Python中数据分析工具Matplotlib
【4月更文挑战第14天】Matplotlib是Python的数据可视化库,能生成多种图表,如折线图、柱状图等。以下是一个绘制简单折线图的代码示例: ```python import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [2, 4, 6, 8, 10] plt.figure() plt.plot(x, y) plt.title(&#39;简单折线图&#39;) plt.xlabel(&#39;X轴&#39;) plt.ylabel(&#39;Y轴&#39;) plt.show() ```
5 1
|
2天前
|
数据采集 SQL 数据可视化
Python数据分析工具Pandas
【4月更文挑战第14天】Pandas是Python的数据分析库,提供Series和DataFrame数据结构,用于高效处理标记数据。它支持从多种数据源加载数据,包括CSV、Excel和SQL。功能包括数据清洗(处理缺失值、异常值)、数据操作(切片、过滤、分组)、时间序列分析及与Matplotlib等库集成进行数据可视化。其高性能底层基于NumPy,适合大型数据集处理。通过加载数据、清洗、分析和可视化,Pandas简化了数据分析流程。广泛的学习资源使其成为数据分析初学者的理想选择。
4 1
|
4天前
|
Python 数据挖掘 存储
Python 数据分析(PYDA)第三版(七)(4)
Python 数据分析(PYDA)第三版(七)
|
Python Shell 存储
Python 数据分析(PYDA)第三版(七)(3)
Python 数据分析(PYDA)第三版(七)
Python 数据分析(PYDA)第三版(七)(3)
|
机器学习/深度学习 数据可视化 Python
Python 数据分析(PYDA)第三版(六)(2)
Python 数据分析(PYDA)第三版(六)
|
机器学习/深度学习 Python 数据挖掘
Python 数据分析(PYDA)第三版(六)(1)
Python 数据分析(PYDA)第三版(六)
|
4天前
|
Python 数据格式 XML
Python 数据分析(PYDA)第三版(三)(1)
Python 数据分析(PYDA)第三版(三)
|
4天前
|
数据挖掘 索引 Python
Python 数据分析(PYDA)第三版(二)(3)
Python 数据分析(PYDA)第三版(二)