试图简化csv中的读取和数组初始化为numpy数组

时间:2014-01-07 16:26:08

标签: python arrays csv numpy

我是使用Numpy的新手。我正在尝试简化功能读取并设置初始化我的numpy数组。

我希望feature_name包含列0-4,_X的所有功能以包含所有行和列0 - 4和_y以包含第5列的所有行。

我的代码有效,但它不像我希望的那样简洁或易懂

import csv 
import numpy as np

# read in the data as rows 
with open('data.csv', 'rb') as csvfile: 
    _reader = csv.reader( csvfile, delimiter =',',quotechar ='"') 

    # Read in the feature names into an array
    feature_names = _reader.next() 

    # Read the in the sample data
    _X, _y = [], []
    for row in _reader: 
        _X.append( row ) #read in plant  
        _y.append( row[ 5]) 

feature_names = np.array(feature_names) 
_X      = np.array( _X) 
_y      = np.array( _y)

_X = _X[:, [0,1,2,3,4]] 
_names = feature_names[[ 0,1,2,3,4]]

我非常感谢您的帮助,并希望改进我的编码!提前致谢

1 个答案:

答案 0 :(得分:0)

在我看来,您正在重新实施Pandas包。特别, pandas.read_csv(), 和pandas.DataFrame。请参阅10 minutes of pandas

您也可以使用numpy.genfromtxt()