读取网络数据集方法记录

使用不同方法读取不同网络数据集

在加载网络数据集的时候需要对指定的数据集进行读取,然后对读取的数据集进行后续处理,但是复杂网络数据集的存储格式有很多种,导致每次找数据集都要在网上查询如何进行读取,所以对一些常见的数据集类型的读取进行一些记录,方便自己之后的查询以及使用。

使用pandas对txt和csv文件进行读取

导入pandas包,使用pandas中的read_csv方法,如果是txt文件且以空格或者分隔符分开可以在sep参数设置需要拆分的符号。
pd.read_csv(data_path, sep=' ')

如果第一行不是列名可以使用header=None将取消将第一行作为表头

pd.read_csv(data_path, sep=' ', header=None)

设置自己的列名,使用name

pd.read_csv(data_path, sep=' ', name=['source', 'target'])

自己制作的网络数据集ID转换问题

自己制作的数据集的节点ID会非常长不利于接下来的我们分析,所以我们对每个ID进行一个映射,做成字典的形式存储下来,然后对数据集进行修改。
首先对存储的dict进行加载

load_dict = np.load('my_dict.npy', allow_pickle=True).item()

然后对我们的每一列进行字典的对应转换

df['source'] = df['source'].map(load_dict)
df['target'] = df['target'].map(load_dict)

或者使用replace方法

df.replace({"source": my_dict})
df.replace({"target": my_dict})

转换pandas数据转化为tensor

有时我们处理信息的一些包需要以tensor格式进行节点信息的输入,所以要把每一列的元素以tensor的格式输出。使用torch.from_numpy(),或者先把pandas变为numpy的格式在进行tensor的转换。

 // 使用切片得到第一列(source)节点数据
 torch.from_numpy((df.values)[:, 0])
 //先转为np格式再转为tensor
 my_array = np.array(df)
 my_tensor = torch.tensor(my_array)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值