如果我有一个数据集,其中有5列和10行(因此是10个观察),那么我希望X是代表前四列的10×4输入矩阵,y是代表数据集中最后一列的10×1输出矩阵,我将如何在python上对其进行编码?我希望我的X矩阵合并列: cty_pop2000、countyfipscode、county_name和statename。而我希望y输出向量是gini列。我将如何在Python上编写这个代码?很抱歉,如果这个问题微不足道,我是Python新手。我尝试过雪橇,但是他们使用简单的数组来进行X输入和y输出。因此,我不知道如何编码我的X矩阵和y向量。
我尝试使用以下方法编写代码:
import pandas as pd
df = pd.read_csv('file_name.csv')
X = df.iloc[[0:3]]
y = df['gini']
dataset是一个csv文件,具有以下内容:
cty_pop2000 countyfipscode county_name statename gini
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
43671 1001 Autauga Alabama 0.381
发布于 2016-04-12 23:02:36
您可以将最后一列复制到向量中,并将其从原始数据from中删除。
import pandas as pd
df = pd.read_csv('file_name.csv')
y = df[['gini']]
X = df.drop(['gini'])
或者,您可以简单地分割出“gini”列而不删除
import pandas as pd
df = pd.read_csv('file_name.csv')
y = df[['gini']]
X = df[df.columns.difference(['gini'])]
还可以使用列索引分割列:
import pandas as pd
df = pd.read_csv('file_name.csv')
y = df[[-1]]
X = df[df.columns[0:-1]]
所有这些方法都会给你
>> y
gini
0 0.381
1 0.381
2 0.381
3 0.381
4 0.381
5 0.381
6 0.381
7 0.381
8 0.381
而对于X
>> X
cty_pop2000 countyfipscode county_name statename
0 43671 1001 Autauga Alabama
1 43671 1001 Autauga Alabama
2 43671 1001 Autauga Alabama
3 43671 1001 Autauga Alabama
4 43671 1001 Autauga Alabama
5 43671 1001 Autauga Alabama
6 43671 1001 Autauga Alabama
7 43671 1001 Autauga Alabama
8 43671 1001 Autauga Alabama
https://stackoverflow.com/questions/36588851
复制