线缆19工具和实用工具

cord-19-tools的Python项目详细描述


PyPI version

COVID-19数据工具

使covid19数据对每个人都稍微容易一点的工具!如果你A)认为在你的研究中有什么有用的东西,或者B)有一些有用的代码可以贡献,那么尽快发布一个问题或者公关,这样我们就可以分享你的代码了!在

安装

pip install cord-19-tools

一定要有最新版本!我会不断更新,以确保用户得到正确的数据!语义学者每周五更新一次数据集,所以周五和周六一定要重新下载数据!在

演示

Demonstration Notebook on colab

下载数据

要下载和提取数据,请使用download函数:

^{pr2}$

现在只需从CORD-19 dataset下载数据,不包括元数据(将在一天结束时提供),提取所有tar文件,并将它们放在一个目录中

Paperset类

这是一个用于从CORD-19 dataset懒洋洋地加载文件的类。在

# no `/` at the end please!data=cotools.Paperset("data/comm_use_subset")# indexes with intspprint(data[0])# returns a dict# and slices!pprint(data[:2])# returns a list of dictsprint(len(data))# takes about 5gb in memoryalldata=data[:]

让我们来谈谈它是如何工作的,以及为什么它不占用大量内存。在对数据建立索引之前,文件实际上不会加载到python 。在编制索引时,这些索引处的文件将被读入python,生成一个字典列表。这意味着您在处理低资源系统时仍然可以做出贡献。在

获取文本和摘要

对于文本,有text函数,它从单个文档返回文本,texts函数从多个文档返回文本,还有{}函数,它从所有文档中获取文本:

print(cotools.text(data[0]))print(cotools.texts(data[12:18]))alltext=data.texts()# alltext = cotools.texts(alldata)

对于摘要,我们有一个类似的API:

print(cotools.abstract(data[0]))print(cotools.abstracts(data[12:18]))allabs=data.abstracts()# allabs = cotools.abstracts(alldata)

操纵

您还可以使用Paperset.apply方法操作文档:

keys=comm_use.apply(lambdax:list(x.keys()))# then lets combine them into a setprint(set(sum(keys,[])))

搜索

您可以使用列表或嵌套列表进行搜索!更多的例子见演示笔记本!在

txt=[["covid","novel coronavirus"],["ventilator","cpap","bipap"]]x=cotools.search(comm_use,txt)print(len(x))print(len(cotools.search(comm_use,txt[0])))print(len(cotools.search(comm_use,txt[-1])))

托多

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java标准API:在具有继承用户权限的树中查找实体   带有Hibernate和注释的java多对多自引用   java如何下载和安装Xugler?   java如何向JFrame JButton添加操作?   java如何安装自定义LAF?   java将旧对象的id分配给新对象将把它作为重复的@ManyToMany插入   java如何从WSDL生成/创建服务端点?   java使用基于iText Core的OpenPdf从pdf页面删除或更新添加的图像图标   java WeakHashMap,具有Long、Int或String等类型   java在JFrame中获取和更改值   java变量在扩展另一个类的类中不可见   地理定位Java和GeoLite数据库:如何使用GeoLiteCity。生产方式中的dat?   java类加载器应该能够解析和加载来自不同包的类吗?   java试图调用虚拟方法Volley Android Api   UDP数据报在Java中仅显示第一个字符