将csv文件导入gephi,并构建图(带地理信息)

将csv文件导入gephi,并构建图(带地理信息)

思路:

有时候,构建了网络后,无法保存为gexf文件,保存了可能无法使用gephi打开。有一种处理的方法,是将nodes和edges数据导入到gephi中。但是自己的数据导入到gephi中,往往会有一些问题。这边推荐:先在gephi中根据自己的数据创建列,如lon、lat列,并将列的类型设为Float 。之后,将空的gephi 节点、边数据导出,将自己的数据填充到对应的列。再将文件导入gephi中,就没有什么问题了。

eg:给node.csv文件添加lon、lat用于地理布局

1. gephi_nodes.csv导出

  1. 在gephi 数据资料视图中,添加lonlat两列。导出为csv空文件:gephi_nodes.csv
  2. 导出:注意列的选择,不需要的列要去掉

image-20230221195748301

image-20230221200043771

2. gephi_edges.csv导出

gephi边文件导出:

注意:gephi导出的边文件选项中,默认包含 Source,Target两列 。 注意去掉不需要的列

image-20230221200206885

3. 自己的数据填充到gephi_nodes和gephi_edges中

3.1自己的nodes、edges数据展示:

image-20230221201210157

edges数据中的起终节点列分别是node_startnode_end,下面使用python代码进行处理,填充到gephi_edges中

image-20230221201230722

3.2 数据处理(python)
import pandas as pd
gephi_edges = pd.read_csv('./test/gephi_edges.csv')
gephi_nodes = pd.read_csv('./test/gephi_nodes.csv')

# nodes 数据处理:
gephi_nodes['Id'] = nodes['nodeID']\
# 将nodes的geometry,分成lon|lat两列
O_xy = nodes['geometry'].apply(lambda p: list(p.coords)).explode().apply(pd.Series).rename(columns=({0:"x", 1:"y"}))
nodes['x'] = O_xy['x']
nodes['y'] = O_xy['y']
gephi_nodes['lon'] =nodes['x'] 
gephi_nodes['lat'] = nodes['y'] 
gephi_nodes.to_csv('./test/gephi_nodes_output.csv',index=False)  #!!!保存为csv文件时,一定要去掉索引

# edges数据处理
gephi_edges['Source'] = edges['node_start']
gephi_edges['Target']= edges['node_end']
gephi_edges['Weight'] = edges['weight']
gephi_edges.to_csv('./test/gephi_edges_output.csv',index=False)  #!!!保存为csv文件时,一定要去掉索引

注意:一定不要保存默认的索引

4. csv文件导入到gephi中

4.1 节点数据导入

image-20230221202729846

image-20230221202802370

4.2 边数据导入

image-20230221202847535

5. 最终效果

5.1 python 中networkx绘制的 网络:

image-20230221203116893

5.2 gephi展示(使用 Geo Layout)

image-20230221203032732

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值