python - 如何使用numpy根据数组值从我的数据中获取特定值?
问题描述
我有一个数据数组,我在其中插入了一个值从 0 开始的列。所以现在我的数据包含所有浮点值。
经过一些处理后,我有一个数组 ARR,其中包含我的第一列中的值。使用这些 ARR 值(或位置),我想使用 Numpy 将剩余的列提取到一个新数组中。
import numpy as np
import io
data =io.StringIO("""
ID,1,2,3
5362,0.97,-0.40,-0.76
485,-0.65,0.53,0.62
582,0.04,0.99,0.76
99,0.77,0.53,0.39
75,-0.44,0.52,0.85
474,0.35,0.8,0.13
594,-0.29,0.03,0.74
597,0.96,-0.35,0.59
124,0.73,0.61,0.76
635,0.88,0.96,-0.98
7894,-0.04,0.04,0.52
1268,0.56,0.73,-0.37
38,0.46,0.62,0.73
88,0.02,0.16,0.098
887,0.46,0.65,-0.89
""")
data = np.genfromtxt(data, delimiter=',', skip_header=2, dtype=np.float64)
index = np.arange(data.shape[0]).reshape(-1, 1)
data = np.hstack([index, data])
ARR = [[1.],[2.],[4.],[6.],[7.],[9.]]
预期输出如:
我想要所有行值在ARR
. 我也可以将其显示为整数值。我想要我的数据数组中这些位置的所有行。
485,-0.65,0.53,0.62
582,0.04,0.99,0.76
75,-0.44,0.52,0.85
594,-0.29,0.03,0.74
597,0.96,-0.35,0.59
635,0.88,0.96,-0.98
解决方案
使用数据形成的方式,您可以轻松地执行以下操作:
for value in ARR:
print(data[int(value[0])][1::])
希望能帮助到你!
编辑:添加 [1::] 对结果进行切片并删除索引位置。
推荐阅读
- ms-project - 将成本从 Excel 导入 Ms Project 时出错
- firebase - 如何使用条件字段路径将数据添加到 Firebase Firestore 中的嵌套字段
- php - Laravel 不同风格
- authenticator - 无法登录 Microsoft 365 开发人员帐户
- docker - 安装 Docker 桌面设置时出错,应用程序版本太高。使用最新版本或重置为出厂默认设置以继续
- python - Python - 通过http post发送图像数据 - 预期str实例,找到字节
- reactjs - Webpack - 更高级别目录的动态导入太慢
- django - 发布 uid 和 token 数据时出错(“WSGIRequest”对象没有属性“post”)
- mysql - 用户注册网站时如何用随机值(mysql)更新余额?
- c# - 获取数据时图像旋转 [Xamrin forms] 使用新错误消息编辑仅创建视图层次结构的原始线程