You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PyTorch中遍历KarateClub数据集并查看表格形式数据?

查看PyTorch Geometric中KarateClub数据集的具体数据

KarateClub是单图数据集,你之前的循环其实只遍历了唯一的一个图对象,而Data类默认的打印输出只会显示张量形状,不会展示具体数值。要以表格形式查看数据,你可以手动提取Data对象中的张量,转换为可阅读的表格格式,以下是具体实现:

代码示例

from torch_geometric.datasets import KarateClub
import pandas as pd

# 加载数据集并获取唯一的图数据对象
dataset = KarateClub()
data = dataset[0]

# 1. 节点特征表(34个节点,每个节点34维特征)
node_features = pd.DataFrame(
    data.x.numpy(),
    columns=[f"特征_{idx}" for idx in range(data.num_features)]
)
print("=== 节点特征表 ===")
print(node_features)

# 2. 边索引表(156条边,每条边包含源节点和目标节点索引)
edges = pd.DataFrame(
    data.edge_index.numpy().T,  # 转置后每行代表一条边
    columns=["源节点ID", "目标节点ID"]
)
print("\n=== 边索引表 ===")
print(edges)

# 3. 节点标签与训练掩码表
node_labels_mask = pd.DataFrame({
    "节点标签": data.y.numpy(),
    "是否为训练节点": data.train_mask.numpy()
})
print("\n=== 节点标签与训练掩码表 ===")
print(node_labels_mask)

关键说明

  • KarateClub数据集仅包含一个图,因此len(dataset) = 1,无需循环遍历,直接取dataset[0]即可获取完整图数据。
  • Data对象的x、edge_index、y、train_mask都是PyTorch张量,调用.numpy()方法可转换为NumPy数组,再用pandas封装为表格格式,方便查看。
  • 如果不需要完整表格,也可以直接打印张量的具体数值,比如print(data.x)会输出所有节点特征的具体值。

内容的提问来源于stack exchange,提问作者Krishn Nand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:22:43