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

如何堆叠不同形状的NumPy数组并生成指定格式CSV?

解决不同形状NumPy数组组合并生成CSV的问题

由于两个数组维度不兼容,直接堆叠会报错,需要先根据目标CSV的格式调整数组形状,以下是两种常见场景的实现方案:

场景1:将(4,1)数组作为每行前缀与(240,320)数组水平组合

如果目标CSV是240行,每行包含4个重复的(4,1)数组元素,加上(240,320)数组的对应行元素,操作步骤如下:

  1. 扩展小数组形状以匹配大数组行数:

    import numpy as np
    import pandas as pd
    
    # 示例数组,替换为你的实际数组
    arr_small = np.array([[1], [2], [3], [4]])  # 形状(4,1)
    arr_large = np.random.rand(240, 320)  # 形状(240,320)
    
    # 将(4,1)转为(1,4)后重复240次,得到(240,4)的数组
    arr_small_expanded = np.tile(arr_small.T, (240, 1))
    
  2. 水平拼接两个数组:

    combined_arr = np.hstack([arr_small_expanded, arr_large])
    
  3. 保存为CSV文件:

    pd.DataFrame(combined_arr).to_csv('horizontal_combined.csv', index=False, header=False)
    

场景2:将(240,320)数组拉平后与(4,1)数组垂直组合

如果目标CSV是单列,包含(4,1)的4个元素,加上(240,320)拉平后的所有元素,操作步骤如下:

  1. 拉平大数组为单列:

    arr_large_flattened = arr_large.flatten().reshape(-1, 1)  # 形状(76800,1)
    
  2. 垂直拼接两个数组:

    combined_arr = np.vstack([arr_small, arr_large_flattened])
    
  3. 保存为CSV文件:

    pd.DataFrame(combined_arr).to_csv('vertical_combined.csv', index=False, header=False)
    

注意事项

  • 如果目标CSV格式与上述场景不同,需明确具体的行列结构,调整数组变形逻辑(比如用np.repeat替换np.tile实现不同的重复规则)。
  • 若不需要表头,保持header=False;如需自定义表头,可传入header=['col1', 'col2', ...]参数。

内容的提问来源于stack exchange,提问作者Bingo Man

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:10:36