IEEE自定义查询:导出文献后数据清洗

 我们要做的就是导出搜索结果,使用pandas洗数据。

在使用IEEE搜索后,采取如下步骤。

一.导出数据

点这玩意儿(右上角)

然后点download,下载包含搜索结果的csv文件

 

 如果下载有问题,emmmm,我就不知道啦(狗头保命)

不过这种小几百个的没啥问题,下载完了大概这样

二.数据清洗

 打开这个文件,上pandas,为了方便,把文件改名为ssl.csv

import pandas as pd
import numpy as np

frame = pd.read_csv('ssl.csv')
print(frame.head())
print(frame.columns)

出来了我们的columns

 我们惊奇地发现,'Document Title','Author Affiliations','Article Citation Count', 'Patent Citation Count','Reference Count'正好是我们想要的,文档名,作者影响因子,被文章和专利引用数量和相关性。那还客气啥

head_picked_columns = ['Document Title','Author Affiliations','Article Citation Count', 'Patent Citation Count','Reference Count']
frame = frame[head_picked_columns]

后面的代码是对于self-supervised learning的搜索

a = 'self-supervised'
b = 'learning'
match_list_index = []
for i in frame.index:
    title = frame['Document Title'][i]
    title = title.lower()
    if (a in title) and (b in title):
        match_list_index.append(i)

result = frame.loc[match_list_index,:]

如果只想要不拆关键词,把result print一下就行。

此外,我们希望对文章和专利引用(当然也可以是其他的东西)写一个排序

result['Article Citation Count'].fillna(0,inplace = True) #没有的话是nan,当然用0来填坑
result['Patent Citation Count'].fillna(0,inplace = True)

citation_count = result.sort_values(by = 'Article Citation Count')
citation_count['citation_sort'] = [i for i in range(len(citation_count.index))]

patent_citation_count = citation_count.sort_values(by = 'Patent Citation Count')
patent_citation_count['patent_citation_sort'] = [i for i in range(len(citation_count.index))]

出结果

reference_count = patent_citation_count
reference_count['all_sort'] =  reference_count['patent_citation_sort'] + reference_count['citation_sort']

result = reference_count.sort_values(by = 'all_sort',ascending = False)
document_title = result['Document Title']

print(document_title.head())

如果不写head,使用print大法的话

结果是这个,看着不错

你可能感兴趣的:(python,pandas,python,开发语言)