在循环中创建一个numpy数组

问题描述 投票:-2回答:1

我想通过解析.txt文件来创建一个numpy数组。 .txt文件由逗号分隔的鸢尾花特征组成。每行都有一个花例子,5个数据用4个逗号分隔。前4个数字是功能,最后一个是名称。我在循环中解析.txt并希望将每行解析数据附加(可能使用numpy.append)到名为feature_table的numpy数组中。

继承人的代码;

import numpy as np
iris_data = open("iris_data.txt", "r")
for line in iris_data:
    currentline = line.split(",")
    #iris_data_parsed = (currentline[0] + " , " + currentline[3] + " , " + currentline[4])
    #sepal_length = numpy.array(currentline[0])
    #petal_width = numpy.array(currentline[3])
    #iris_names = numpy.array(currentline[4])
    feature_table = np.array([currentline[0]],[currentline[3]],[currentline[4]])
    print (feature_table)
    print(feature_table.shape)

所以我想在每一行中只使用第一,第四和第五个数据来创建一个numpy数组,但是我不能让它按照我想要的方式工作。尝试阅读numpy docs但无法理解它。

python arrays numpy
1个回答
2
投票

虽然评论中的人是正确的,因为你没有在任何地方保存你的数据,但我认为你的问题是np.array构造不正确。您应该将所有参数括在列表中,如下所示:

feature_table = np.array([currentline[0],currentline[3],currentline[4]])

并绕过争论摆脱多余的[]

有关更多示例,请参阅official documentation。基本上所有输入数据都需要被分组/分离为只有1个参数,因为Python会将其他语句视为不同的位置参数。

© www.soinside.com 2019 - 2024. All rights reserved.