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()

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

相关文章
|
17天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
48 0
|
12天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
Pandas 和 NumPy 是 Python 中不可或缺的数据处理和分析工具。本文通过实际案例深入剖析了 Pandas 的数据清洗、NumPy 的数组运算、结合两者进行数据分析和特征工程,以及 Pandas 的时间序列处理功能。这些高级技巧能够帮助我们更高效、准确地处理和分析数据,为决策提供支持。
28 2
|
16天前
|
弹性计算 Linux iOS开发
Python 虚拟环境全解:轻松管理项目依赖
本文详细介绍了 Python 虚拟环境的概念、创建和使用方法,包括 `virtualenv` 和 `venv` 的使用,以及最佳实践和注意事项。通过虚拟环境,你可以轻松管理不同项目的依赖关系,避免版本冲突,提升开发效率。
|
18天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
31 2
|
23天前
|
数据采集 数据可视化 数据挖掘
R语言与Python:比较两种数据分析工具
R语言和Python是目前最流行的两种数据分析工具。本文将对这两种工具进行比较,包括它们的历史、特点、应用场景、社区支持、学习资源、性能等方面,以帮助读者更好地了解和选择适合自己的数据分析工具。
25 2
|
30天前
|
JSON 搜索推荐 API
Python的web框架有哪些?小项目比较推荐哪个?
【10月更文挑战第15天】Python的web框架有哪些?小项目比较推荐哪个?
48 1
|
9天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
9天前
|
数据采集 数据可视化 数据挖掘
利用Python进行数据分析:Pandas库实战指南
利用Python进行数据分析:Pandas库实战指南
|
12天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
23天前
|
数据采集 机器学习/深度学习 数据可视化
深入浅出:用Python进行数据分析的入门指南
【10月更文挑战第21天】 在信息爆炸的时代,掌握数据分析技能就像拥有一把钥匙,能够解锁隐藏在庞大数据集背后的秘密。本文将引导你通过Python语言,学习如何从零开始进行数据分析。我们将一起探索数据的收集、处理、分析和可视化等步骤,并最终学会如何利用数据讲故事。无论你是编程新手还是希望提升数据分析能力的专业人士,这篇文章都将为你提供一条清晰的学习路径。