如何从 CSV 文件创建 Target(y) 和 X 变量

How to Create Target(y) and X variables from CSV file

我正在读取 CSV 文件,出于建模目的,我需要创建目标 (Y) 和 X 变量。不知道如何设置。我是编码新手,需要一些我似乎无法从 Pandas 文档中理解的指导。我希望 Target 为 'Bad Indicator','X' 为所有其他列。

import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
import pandas as pd
project = pd.read_csv('c:/users/Brandon Thomas/Project.csv')
project=pd.DataFrame(project)
df = pd.DataFrame(project.data, columns = project.feature_names)
df["Bad Indicator"] = x.target
X = df.drop("Bad Indicator",axis=1)   #Feature Matrix
y = df["Bad Indicator"]          #Target Variable
df.head()

AttributeError Traceback(最近调用 最后的) 在 1 # 构建数据框 ----> 2 df = pd.DataFrame(project.data, 列 = project.feature_names) 3 df["Bad Indicator"] = x.target 4 X = df.drop("Bad Indicator",axis=1) #特征矩阵 5 y = df["Bad Indicator"] #目标变量

~\Anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, 
name)
   5065             if 
self._info_axis._can_hold_identifiers_and_holds_name(name):
   5066                 return self[name]
-> 5067             return object.__getattribute__(self, name)
   5068 
   5069     def __setattr__(self, name, value):

AttributeError: 'DataFrame' object has no attribute 'data'

在上面的代码中,您分别创建了 3 次数据框。一次 pd.read_csv,一次 project = pd.DataFrame(project),再一次 df = pd.DataFrame(...)。默认情况下,pd.read_csv object 将是一个数据帧。

我已经删除了当前不需要的导入,例如 numpy、scipy 和 matplotlib。如果您以后需要它们,您可以将它们添加回来。要设置 Y 和 X,您需要做的就是:

import pandas as pd

df = pd.read_csv('c:/users/Brandon Thomas/Project.csv') # this will automatically name your columns if your csv has headers

#if your csv does not have headers:
df.columns = ['Bad Indicator', 'ColumnName1', 'ColumnName2',..]

X = df.drop("Bad Indicator",axis=1)   #Feature Matrix
Y = df["Bad Indicator"]          #Target Variable

df.head()

如果您的 csv 确实有 headers,请删除 df.columns 行。