如何将Excel中105行8列的分数表填充到NumPy数组列表A中?
解决方案
第一步:读取Excel中的分数表数据
用pandas读取Excel文件,将数据转换为NumPy数组,确保其维度为(105, 8):import pandas as pd import numpy as np # 读取Excel文件,替换为你的实际文件名和工作表名 scores_df = pd.read_excel('scores.xlsx', sheet_name='Sheet1') scores_array = scores_df.to_numpy() # 校验数据维度是否符合要求 assert scores_array.shape == (105, 8), "数据维度与预期不匹配"第二步:拆分数据并替换列表A中的零数组
把(105,8)的数组按行拆分成35个(3,8)的子数组,直接替换原列表A的元素:# 直接拆分并重新赋值A A = np.split(scores_array, 35)若想保留原列表的内存引用,逐个替换元素:
# 原列表A的定义 A = [np.zeros((3, 8)) for _ in range(35)] # 循环拆分数据并替换每个零数组 for idx in range(35): A[idx] = scores_array[idx*3 : (idx+1)*3, :]验证替换结果
可以打印任意子数组确认数据已替换:print(A[0]) # 输出第一个(3,8)的分数数据块
内容的提问来源于stack exchange,提问作者znb
相关产品推荐
相关产品推荐

