有没有办法搜索和比较 csv 文件的两列不同的字符串?

问题描述 投票:0回答:1

我正在使用 Networkx 为大学项目制作分类分支图。我试图将分类名称与其父名称联系起来,从每个物种名称到每个家族名称,直到分支图的底部。为此,我将一列中的名称与另一列中的名称进行比较,并在生成的点之间形成边缘,但是我无法按照我想要的方式搜索列,并且错误太大,无法进行通过快速谷歌搜索获得解决方案,如果有人知道如何做到这一点,请告诉我。

这是我正在尝试的代码

import networkx as nx
import pandas as pd
import matplotlib.pyplot as plt


#df = pd.read_csv("E:/Escritorio/tp mat 3/pbdb_data.csv") #direccion labo
df = pd.read_csv("D:/unsam/mat 3/TP 1/pbdb_data.csv") #direccion pc
df = df.drop(["orig_no","taxon_no","record_type","flags","difference","accepted_no","parent_no","immpar_no","immpar_name","container_no","reference_no","is_extant"], axis=1)

print(df)

G = nx.Graph()
G.add_nodes_from(df["taxon_name"])

for i in df["parent_name"]:
    for j in df["taxon_name"]:
        if df[i] == df[j]:
            x =+ 1

print (x)
nx.draw_networkx(G)
plt.draw()

csv是这样的:

taxon_rank                taxon_name   accepted_rank             accepted_name      parent_name  n_occs
0    unranked clade                Dinosauria  unranked clade                Dinosauria  Dinosauriformes    1952
1    unranked clade            Megalosauridae  unranked clade            Megalosauridae       Dinosauria       2
2    unranked clade              Ornithischia  unranked clade              Ornithischia       Dinosauria     236
3    unranked clade                Genasauria  unranked clade                Genasauria     Ornithischia     208
4    unranked clade                  Cerapoda  unranked clade                  Cerapoda       Genasauria     173
python pandas csv networkx
1个回答
0
投票

我找不到像您在networkx上寻找的那样的树形图 不过你可以尝试:

G = nx.from_pandas_edgelist(df[["parent_name", "taxon_name"]].drop_duplicates(), 'parent_name', 'taxon_name', create_using=nx.Graph())
nx.draw_networkx(G, with_labels=True)
© www.soinside.com 2019 - 2024. All rights reserved.