多进程 jpa plugins xampp mono Web Uploader seo教程下载 sql server 视频教程 angular视频 electron教程 jquery解析json sublime分屏快捷键 iot系统 基于bootstrap的框架 matlab向量的模 jquery获取兄弟节点 python正则 python学习入门 python类与对象 python调用命令行 python传递参数 java基础代码 java的泛型 java判断文件是否存在 linux系统安装 linux系统启动过程 decimalformat 轮播图js代码 蒙文字体 深入浅出通信原理 python游戏代码 html5下载 坐标标注插件 arm体系结构与编程 unity3d中文版 华为动态照片 execryptor 字典生成器 globalscape ipad上市时间
当前位置: 首页 > 学习教程  > 编程语言

PyHubWeekly | 第四期:一款开源免费的学术论文下载工具

2020/9/19 16:03:31 文章标签:

前言

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

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

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

  • SciencePlots

  • hickory

  • PyPaperBot

  • sweetviz

  • toolz

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

SciencePlots

Star:1.4k

SciencePlots[2]是一款用于科学绘图的Python工具包。

当我们看学术期刊、论文时会看到各种各样高大上的图形。会好奇,这么好看的图到底怎么画的?是不是很困难?

的确,现在很多Python绘图工具只是关注图形所表达的数据信息,而忽略了样式。

SciencePlots则弥补了这片空白,它是一款专门针对各种学术论文的科学绘图工具,例如,science、ieee等。

安装

# for latest commit
pip install git+https://github.com/garrettj403/SciencePlots.git

# for lastest release
pip install SciencePlots

使用

SciencePlots的使用非常简单,你只需要指定使用的样式、是否需要网格、背景,它就可以很容易的绘制出你想要的图形。

import matplotlib.pyplot as plt
plt.style.use('science')

hickory

Star:11

hickory[3]是一款调度Python脚本的命令行工具。

当我们开发一个程序,需要它定时被调度、定时执行时,每天定好闹钟,到点手动执行代码显然是不现实的。

你可以选择Docker、k8s这些工具去部署你的定时作业,但是,显然这种方案太了。

hickory就是一种能够轻松实现定时调度Python脚本的工具,很轻量、很简单。

示例

首先,编写一个名为foo.py的Python脚本:

import datetime
import time

stamp = datetime.datetime.now().strftime("%H:%M:%S")
time.sleep(5)

print(f"Foo - {stamp} + 5 seconds")

然后,在命令行下调度它,使它每10分钟执行一次:

hickory schedule foo.py --every=10minutes

这样,它就可以在后台执行,并按时调度。此外,你还可以使用hickory status命令来查看它的状态。

PyPaperBot

Star:12

PyPaperBot[4]是一款可以从谷歌Scholar、Crossref和SciHub下载学术论文的Python工具。

PyPaperBot会尝试从谷歌学术、SciHub、作者相关的链接等不同来源去下载你想要的PDF学术论文,避免你再去逐个网站寻找你想要的论文的困境。

安装

pip install PyPaperBot

使用

你可以通过提供索引关键字、DOI等方式搜索你需要的论文,

python -m PyPaperBot --query="Machine learning" --scholar-pages=3  --min-year=2018 --dwn-dir="C:\User\example\papers"

sweetiviz

Star:943

sweetiviz[5]是一款简单、易用的数据对比、可视化工具。

我们在做大数据相关的项目,例如,计算机视觉、机器学习、数据分析等过程中,经常会用到数据对比,训练集与测试集对比、各个子集之间的对比...

通过人肉逐个去对比显然是不现实的,而且很浅显。

sweetiviz围绕数据对比进行构建,能够深度探索不同数据之间的关系,并输出HTML程序,便于我们对数据有一个全局的把握。

安装

pip install sweetviz

使用

生成对比分析报告,主要会用到3个函数:

  • analyze(...)

  • compare(...)

  • compare_intra(...)

下面通过一段代码来看一下它的使用:

import sweetviz as sv

my_report = sv.analyze(my_dataframe)
my_report.show_html() # Default arguments will generate to "SWEETVIZ_REPORT.html"

然后,它就会生成一个1080p的宽屏HTML报告,可以在浏览器中打开并查看,

toolz

Star:2.9k

toolz[6]是一款包含迭代、字典、函数的工具集合。

迭代、字典、函数,这里面每一类在Python中的使用频率都非常频繁。

我们经常会用到迭代器、字典、函数中的各种各样的功能,但是默认的数组、字典中却没有这些功能,这样我们就不可不再去实现一遍。例如,分组、去重、合并等待。

toolz就提供了这一组方便的工具集合,你不需要去重复实现一些功能就可以使用你意想不到的便利。

安装

pip install toolz

使用

下面就来看一下字计数的示例:

>>> def stem(word):
... """ Stem word to primitive form """
... return word.lower().rstrip(",.!:;'-\"").lstrip("'\"")

>>> from toolz import compose, frequencies, partial
>>> from toolz.curried import map
>>> wordcount = compose(frequencies, map(stem), str.split)

>>> sentence = "This cat jumped over this other cat!"
>>> wordcount(sentence)
{'this': 2, 'cat': 2, 'jumped': 1, 'over': 1, 'other': 1}

这里就用到了组合compose和频率frequencies的功能。


 

 

推荐阅读

或许,这是最强大的一款Python GUI工具

8个小技巧教你提升Python代码质量

5款最强且免费的Python IDE

参考资料
[1]

PyHubWeekly: Jackpopc/PyHubWeekly

[2]

SciencePlots: garrettj403/SciencePlots

[3]

hickory: maxhumber/hickory

[4]

PyPaperBot: ferru97/PyPaperBot

[5]

sweetiviz: fbdesignpro/sweetviz

[6]

toolz: pytoolz/toolz

 


本文链接: http://www.dtmao.cc/news_show_200334.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?