使用nx.from\u pandas\u edgelist创建图形

使用nx.from\u pandas\u edgelist创建图形,pandas,networkx,python-3.7,Pandas,Networkx,Python 3.7,我正在编写一个函数,返回引用文章或文章引用文章的图表(输入DOI),其中DOI用于命名图表中的文章,如果存在从DOI_1到DOI_2的引用,则添加从DOI_1到DOI_2的直接边 CSV引用数据如下所示: oci,citing,cited,creation,timespan,journal_sc,author_sc 0200100000236252421370109080537010700020300040001-02001000007360907086301630406010363030507

我正在编写一个函数,返回引用文章或文章引用文章的图表(输入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(我的_ocan.get _引文_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
我遗漏了什么


谢谢你

你能介绍一下
你得到引文图的实际实现吗
?最好是提供一个Hi,@Yuca我编辑了我上面的问题,并添加了关于我的CSV看起来如何的信息以及我正在运行的示例:(print(我的_ocan.get_引文图('10.1002/pol.1985.170230401')。所以,我想得到那个DOI)“10.1007/978-1-4613-3575-7_2”由输入中指示的引用。我想以图形的形式返回它(它应该是一种字典)。非常感谢!有很多问题,例如,您正在运行get_引文_graph,您传递了一个字符串作为参数,但函数需要一个数据对象(您没有在函数中使用)。看起来你会从以下教程中受益。Hi@Yuca,谢谢你的回答。但是数据是由do_process_引文_data返回的,它可以与其他函数一起使用。在你的示例中没有
do_process_引文_data
,因此我不能同意你的说法。请按照gu提高你文章的质量我在第一次发表评论时与您分享的创意