使用numpy将最后一列与实际数据集分开

时间:2017-11-28 23:27:00

标签: python python-2.7 numpy

我有一个csv格式的数据集(没有标题),我想把它分成两部分:(1)没有最后一列的实际数据集,(2)最后一列(类标签)。我的数据集有100K行和65个特征(最后一列,第65列,是我想要分离的类标签)。我写了以下内容:

dataset_path = 'dataset.csv'

dataset = np.genfromtxt(dataset_path, delimiter=',')
class_label = dataset[:-1]
dataset.drop(class_label, axis=1, inplace=True)

print dataset.shape
print class_label

这实际上是错误的。我无法实现我想要的。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:4)

假设您的数据集没有标题

class_label = dataset[:, -1] # for last column
dataset = dataset[:, :-1] # for all but last column

答案 1 :(得分:1)

如果您对使用numpy数组感兴趣,可以将csv文件中的数据读入numpy数组:

 from numpy import genfromtxt
 my_data = genfromtxt('E:\Book1.csv', delimiter=',', dtype = 'str',  skip_header=1, unpack=True)

my_data中的每个项目都是csv文件中每列的列表。  现在,您可以通过以下方式删除最后一列:

 my_data_without_last_column = my_data[:-1].copy()