在循环中创建一个 numpy 数组

埃姆雷·昂萨尔

我想通过解析 .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 文档,但无法理解。

亚历山大·罗萨

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

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

并去掉多余的[]周围的论点。

有关更多示例,请参阅官方文档基本上所有输入数据都需要分组/分隔为只有 1 个参数,因为 Python 会将其他参数视为不同的位置参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章