我想将火炬张量转换为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)
答案 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)