首页 > 解决方案 > 使用 nx.from_pandas_edgelist 创建图

问题描述

我正在编写一个函数,该函数返回文章引用或引用的文章的图表(输入 DOI),其中 DOI 用于命名图表中的文章,如果存在则添加从 DOI_1 到 DOI_2 的直接边存在从 DOI_1 到 DOI_2 的引用。

CSV 引用数据如下所示:

oci,citing,cited,creation,timespan,journal_sc,author_sc
0200100000236252421370109080537010700020300040001-020010000073609070863016304060103630305070563074902,"10.1002/pol.1985.170230401","10.1007/978-1-4613-3575-7_2",1985-04,P2Y,no,no

此函数创建 df:

def do_process_citation_data(f_path):
     global my_ocan

     my_ocan = pd.read_csv(f_path, names=['oci', 'citing', 'cited', 'creation', 'timespan', 'journal_sc', 'author_sc'], parse_dates = ['creation', 'timespan'])
     my_ocan = my_ocan.iloc[1:]  # to remove the first row
     my_ocan['creation'] = pd.to_datetime(my_ocan['creation'], format="%Y-%m-%d", yearfirst=True)
     # Period parsing on my_ocan['timespan']
     print(my_ocan.info())

     return my_ocan

当我运行这个创建图表的函数时 (print(my_ocan.get_citation_graph('10.1002/pol.1985.170230401')) 我什么也没得到。

def do_get_citation_graph(data, doi):
    G = nx.from_pandas_edgelist(my_ocan, 'citing', 'cited', create_using=nx.DiGraph())

    return G

我的缺失点是什么?

谢谢

标签: pandasnetworkxpython-3.7

解决方案


推荐阅读