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小时前
|
SQL 数据可视化 数据挖掘
2024年8个Python高效数据分析的技巧。,2024年最新Python基础面试题2024
2024年8个Python高效数据分析的技巧。,2024年最新Python基础面试题2024
2024年8个Python高效数据分析的技巧。,2024年最新Python基础面试题2024
|
3天前
|
机器学习/深度学习 数据挖掘 Python
Python数据分析 | 泰坦尼克逻辑回归(下)
Python数据分析 | 泰坦尼克逻辑回归
7 1
|
3天前
|
机器学习/深度学习 数据挖掘 BI
Python数据分析 | 泰坦尼克逻辑回归(上)
Python数据分析 | 泰坦尼克逻辑回归
15 0
|
3天前
|
数据采集 数据挖掘 Python
Python数据分析 | 线性回归
Python数据分析 | 线性回归
11 1
|
3天前
|
数据采集 Python
matlab疲劳驾驶检测项目,Python高级面试framework
matlab疲劳驾驶检测项目,Python高级面试framework
|
3天前
|
机器学习/深度学习 数据采集 自然语言处理
10个 Python 小技巧,覆盖了90%的数据分析需求!_countries_lat_lon
10个 Python 小技巧,覆盖了90%的数据分析需求!_countries_lat_lon
|
3天前
|
数据采集 人工智能 数据挖掘
「一行分析」利用12000条招聘数据分析Python学习方向和就业方向
「一行分析」利用12000条招聘数据分析Python学习方向和就业方向
|
5天前
|
数据采集 数据可视化 数据挖掘
利用Python和Pandas库优化数据分析流程
在当今数据驱动的时代,数据分析已成为企业和个人决策的重要依据。Python作为一种强大且易于上手的编程语言,配合Pandas这一功能丰富的数据处理库,极大地简化了数据分析的流程。本文将探讨如何利用Python和Pandas库进行高效的数据清洗、转换、聚合以及可视化,从而优化数据分析的流程,提高数据分析的效率和准确性。
|
5天前
|
SQL 数据采集 数据挖掘
构建高效的Python数据处理流水线:使用Pandas和NumPy优化数据分析任务
在数据科学和分析领域,Python一直是最受欢迎的编程语言之一。本文将介绍如何通过使用Pandas和NumPy库构建高效的数据处理流水线,从而加速数据分析任务的执行。我们将讨论如何优化数据加载、清洗、转换和分析的过程,以及如何利用这些库中的强大功能来提高代码的性能和可维护性。