You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取pandas DataFrame中Numpy矩阵列的指定位置元素

错误原因

你写的df["matrix"][:][1,1]逻辑不成立:df["matrix"]返回的是存储Numpy矩阵的Pandas Series对象,[:]仅对该Series做全量切片,得到的还是Series结构,不是堆叠后的三维Numpy数组,无法直接通过[1,1]索引批量取每个矩阵的对应位置元素。

正确实现方案
  • 方法1:通用逐元素提取(适合矩阵形状不一致的场景)
    对Series的每个元素单独执行索引操作,代码如下:
    # 单独提取对应值的Series
    mat_pos_values = df["matrix"].apply(lambda mat: mat[1, 1])
    # 如果需要直接新增为DataFrame的列方便后续绘图,可写为:
    df["mat_1_1"] = df["matrix"].apply(lambda mat: mat[1, 1])
    
  • 方法2:堆叠后批量索引(适合所有矩阵形状相同的场景,效率更高)
    先把整个matrix列的所有矩阵堆叠成三维Numpy数组,再批量切片取对应位置:
    import numpy as np
    mat_pos_values = np.stack(df["matrix"].to_numpy())[:, 1, 1]
    

内容的提问来源于stack exchange,提问作者Asbjoern Lund

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 18:18:01