我正在读取 CSV 文件,出于建模目的,我需要创建目标 (Y) 和 X 变量。不知道如何设置。我是编码新手,需要一些我似乎无法从 Pandas 文档中理解的指导。我希望将目标设置为“错误指标”,将“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, columns = project.feature_names) 3 df["坏指标"] = x.target 4 X = df.drop("坏指标",axis=1) #特征矩阵 5 y = df["坏指标"] #目标变量
~\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
对象将是一个数据框。
我删除了当前不必要的导入,例如 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 确实有标题,请删除 df.columns
线。
关于python - 如何从 CSV 文件创建 Target(y) 和 X 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58358148/