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

如何用最少代码将pandas DataFrame转为带填充的PyTorch 3D张量

最简实现代码

首先确保你已经安装导入pandas和torch依赖,核心转换代码仅2行:

# 生成三个维度的全组合索引,缺失位置自动填0后转张量
full_idx = pd.MultiIndex.from_product([sorted(dfAnimals[c].unique()) for c in ['Animal','Country','Likes']])
tensor = torch.tensor(dfAnimals.set_index(['Animal','Country','Likes']).reindex(full_idx, fill_value=0).values.reshape(2,2,2))

验证输出

执行以下代码可确认形状符合要求:

print(tensor.shape)
# 输出:torch.Size([2, 2, 2])

逻辑说明

  • 用MultiIndex.from_product生成三个维度所有可能的组合,确保没有遗漏位置
  • reindex方法自动将不存在的组合位置填充为0,不需要手动处理缺失值
  • 直接对填充后的数组做reshape得到要求的3D形状,再转PyTorch张量即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:06:03