我们要做的就是导出搜索结果,使用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大法的话
结果是这个,看着不错