将numpy数组转换为自定义类的快速方法?

时间:2015-10-31 23:56:29

标签: python arrays oop numpy

我有一个numpy形状的数组(1000,20),其中一行有19个浮点值(feature),最后一个值是二进制值(label)。

自定义类是:

class Point(object):
    feature = None
    label = None

    def __init__(self, feature, label):
        self.feature = feature
        self.label = label

    def __str__(self):
        return "{0} {1} labelled {2}".format(self.__class__.__name__, self.feature, self.label)

    def __repr__(self):
        return "{0}({1}, {2})".format(self.__class__.__name__, self.feature, self.label)

有没有办法可以通过矩阵,所有行都可以转换为Point对象?或者我应该遍历每一行?

对于迭代解决方案,我使用了这个函数:

def to_data_point(matrix):
    new_data = []
    for row in matrix:
        feature = row[:-1]
        label = row[-1]
        new_data.append(Point(feature, label))
    return new_data

0 个答案:

没有答案