python - 在循环中创建一个 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]])
并摆脱多余的[
和]
周围的争论。
有关更多示例,请参阅官方文档。基本上所有输入数据都需要分组/分隔为只有一个参数,因为 Python 会将其他参数视为不同的位置参数。
推荐阅读
- sql - DB2 中的 SKIP LOCKED DATA 语法问题
- node.js - yargs 需要 builder 选项之一
- php - 从数组值拆分字符串并将该拆分数组添加到同一主数组中
- c++ - 如何将静态 const char 作为参数传递给函数?
- reactjs - 有没有办法测试 React Component 子级的变化
- c# - Process.WaitForExit 不使用 ALT+F4 返回
- java - 加速正则表达式
- typescript - 为什么数组的长度属性计算打字稿中的字符数?
- python - 如何在 Django 2 中搜索数据后导出 csv 文件?
- aws-lambda - 适用于 node.js 的 AWS Alexa 技能工具包 SDK:部署时出错