如何将火炬张量转换为熊猫数据框?

时间:2019-09-15 08:43:53

标签: python pandas pytorch

我想将火炬张量转换为pandas数据框,但是通过使用pd.DataFrame,我得到了一个填充有张量而不是数值的数据框。

import torch
import pandas as  pd
x = torch.rand(4,4)
px = pd.DataFrame(x)

这是在变量浏览器中单击px时得到的:

0   1   2   3
tensor(0.3880)  tensor(0.4598)  tensor(0.4239)  tensor(0.7376)
tensor(0.4174)  tensor(0.9581)  tensor(0.0987)  tensor(0.6359)
tensor(0.6199)  tensor(0.8235)  tensor(0.9947)  tensor(0.9679)
tensor(0.7164)  tensor(0.9270)  tensor(0.7853)  tensor(0.6921)

2 个答案:

答案 0 :(得分:3)

您可以使用astype

更改类型
px = pd.DataFrame(x).astype("float")
px
          0         1         2         3
0  0.847408  0.714524  0.286006  0.165475
1  0.136359  0.384073  0.398055  0.437550
2  0.843704  0.301536  0.576983  0.231726
3  0.293576  0.075563  0.811282  0.881705

答案 1 :(得分:1)

我发现了将火炬首先转换为numpy的一种可能方法:

import torch
import pandas as  pd
 x = torch.rand(4,4)
 px = x.numpy()
 px = pd.DataFrame(px)