【问题标题】:How to load features and label from dataframe in Python?如何在 Python 中从数据框中加载特征和标签?
【发布时间】:2020-03-26 18:12:55
【问题描述】:

我正在尝试使用带有 tensorflow 的 keras 来训练网络。我有自己的缅甸语数字数据集。我正在尝试使用使用 python 的神经网络开发缅甸数字识别。我有 train.csv 文件和 test.csv 文件,它们的标题带有格式标签、pixel0、...、pixel783。我使用熊猫加载数据框。但我想将数据框拆分为特征和标签。

import pandas as pd
dataframe = pd.read_csv("mmdigitstrain.csv")
dataframe2 = pd.read_csv("mmdigitstest.csv")

(X_train, y_train) = splitfeaturesandlabelfromdataframe
(X_test, y_test) = splitfeaturesandlabelfromdataframe2

【问题讨论】:

  • 请在您的数据框中提供标签列的名称
  • 标签列的名称是label。
  • 在 csv 文件中添加数据的 sn-p

标签: python


【解决方案1】:

您必须将数据放在 numpy 数组中

import pandas as pd
import numpy as np
df_train = pd.read_csv("mmdigitstrain.csv")
df_test = pd.read_csv("mmdigitstest.csv")

y_train=df_train['label'].to_numpy() 
#check the shape should bd nbofitem x 1 in train dataset
print(y_train.shape)
X_train=df_train.drop(columns=['label']).to_numpy()
check the shape should bd nbofitem x  780 in train dataset
print(X_train.shape)

y_test=df_test['label'].to_numpy() 
#check the shape should bd nbofitem x 1 in test dataset
print(y_test.shape)
X_test=df_test.drop(columns=['label']).to_numpy()
check the shape should bd nbofitem x  780 in test dataset
print(X_test.shape)

【讨论】:

    【解决方案2】:

    如果您的数据框包含最后一列作为label 列。然后使用下面的

    X_train = dataframe.iloc[:,:-1] Y_train = dataframe.iloc[:,-1:]

    X_train = dataframe.loc[:, dataframe.columns != 'label']
    Y_train = dataframe.loc[:, dataframe.columns == 'label']
    
    

    根据下面的评论更新。现在将数据框 w.r.t 子集为列名label

    另一种方法是将两个数据框合并/合并,并尝试使用train_test_split

    【讨论】:

    • 标签列是数据框中的第一列。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2020-08-10
    相关资源
    最近更新 更多