如何在Python中从数组列表提取指定列并执行维度均值计算与数据操作
提取多维数组列表指定列并进行运算的实现
假设你的数据是由numpy数组组成的列表,以下是两种高效的实现方式:
方式一:遍历列表提取指定列
直接循环列表中的每个数组,取出索引为1的元素(对应column[1])并收集为普通列表:
import numpy as np # 定义原始数据 data = [ np.array([2.33700000e+06, 4.16779479e-01, 9.31000000e-04, 1.99000000e-13, 0.00000000e+00, 0.00000000e+00]), np.array([2.33700000e+06, 4.16779479e-01, 9.31000000e-04, 1.99000000e-13, 0.00000000e+00, 0.00000000e+00]) ] # 提取column[1]转为列表 column_1 = [arr[1] for arr in data] print(column_1) # 输出: [0.416779479, 0.416779479]
方式二:利用numpy批量处理(适合大数据量)
将整个列表转换为二维numpy数组,直接通过列索引提取数据,再转为普通列表:
import numpy as np data = [ np.array([2.33700000e+06, 4.16779479e-01, 9.31000000e-04, 1.99000000e-13, 0.00000000e+00, 0.00000000e+00]), np.array([2.33700000e+06, 4.16779479e-01, 9.31000000e-04, 1.99000000e-13, 0.00000000e+00, 0.00000000e+00]) ] # 转换为二维numpy数组 data_2d = np.array(data) # 提取第2列(索引为1)并转为列表 column_1 = data_2d[:, 1].tolist() print(column_1) # 输出: [0.416779479, 0.416779479]
后续运算示例(以计算均值为例)
拿到column_1列表后,可执行任意需要的运算,比如计算均值:
# 手动计算均值 mean_val = sum(column_1) / len(column_1) # 或用numpy的均值方法(更简洁) mean_val = np.mean(column_1) print(mean_val) # 输出: 0.416779479
内容的提问来源于stack exchange,提问作者MinaMRM
相关产品推荐
相关产品推荐

