将 Pandas 数据帧转换为 PyTorch 张量? [英] Convert Pandas dataframe to PyTorch tensor?

查看:45
本文介绍了将 Pandas 数据帧转换为 PyTorch 张量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用 PyTorch 在 Pandas 数据帧上训练一个简单的神经网络 df.

I want to train a simple neural network with PyTorch on a pandas dataframe df.

其中一列名为Target",它是网络的目标变量.如何使用此数据帧作为 PyTorch 网络的输入?

One of the columns is named "Target", and it is the target variable of the network. How can I use this dataframe as input to the PyTorch network?

我试过了,但没有用:

import pandas as pd
import torch.utils.data as data_utils

target = pd.DataFrame(df['Target'])
train = data_utils.TensorDataset(df, target)
train_loader = data_utils.DataLoader(train, batch_size=10, shuffle=True)

推荐答案

我指的是标题中的问题,因为您还没有在文本中真正指定任何其他内容,因此只需将 DataFrame 转换为 PyTorch 张量.

I'm referring to the question in the title as you haven't really specified anything else in the text, so just converting the DataFrame into a PyTorch tensor.

没有关于您的数据的信息,我只是在这里将浮点值作为示例目标.

Without information about your data, I'm just taking float values as example targets here.

将 Pandas 数据帧转换为 PyTorch 张量?

import pandas as pd
import torch
import random

# creating dummy targets (float values)
targets_data = [random.random() for i in range(10)]

# creating DataFrame from targets_data
targets_df = pd.DataFrame(data=targets_data)
targets_df.columns = ['targets']

# creating tensor from targets_df 
torch_tensor = torch.tensor(targets_df['targets'].values)

# printing out result
print(torch_tensor)

输出:

tensor([ 0.5827,  0.5881,  0.1543,  0.6815,  0.9400,  0.8683,  0.4289,
         0.5940,  0.6438,  0.7514], dtype=torch.float64)

使用 Pytorch 0.4.0 测试.

我希望这会有所帮助,如果您有任何其他问题 - 就问吧.:)

I hope this helps, if you have any further questions - just ask. :)

这篇关于将 Pandas 数据帧转换为 PyTorch 张量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆