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

如何在Python中实现矩阵拼接以及矩阵指定部分的拼接?

解决方案:Pandas矩阵拼接(整体/选定部分)

针对你提出的两个Pandas矩阵拼接需求,我结合你已有的代码给出具体实现方法:

一、整体矩阵拼接

你已经将两个CSV文件读入并转置为main_transposed和wave_transposed,要把整个wave_transposed拼接到main_transposed上,核心用pd.concat()函数,需根据拼接方向设置axis参数:

1. 列方向拼接(左右拼接)

如果要把两个矩阵按列合并(横向拼接),设置axis=1:

import pandas as pd

# 你的现有代码
main = pd.read_csv('C:/Users/Jonas/Desktop/testfile/testing.csv', header=None)
main_transposed = main.T
wave_file = pd.read_csv('C:/Users/Jonas/Desktop/testfile/nxt_Test.csv', header=None)
wave_transposed = wave_file.T

# 列方向整体拼接
combined_cols = pd.concat([main_transposed, wave_transposed], axis=1)
print(combined_cols)

2. 行方向拼接(上下拼接)

如果要按行合并(纵向拼接),设置axis=0:

# 行方向整体拼接
combined_rows = pd.concat([main_transposed, wave_transposed], axis=0)
print(combined_rows)

二、选定部分矩阵拼接

如果只需要拼接wave_transposed的某一部分,可先用iloc(按位置索引)或loc(按标签索引)提取目标区域,再执行拼接:

示例1:提取wave_transposed的前2列,与main_transposed列拼接

# 提取wave_transposed的前2列(所有行,第0到1列)
wave_selected_cols = wave_transposed.iloc[:, 0:2]
# 列方向拼接选定部分
combined_selected_cols = pd.concat([main_transposed, wave_selected_cols], axis=1)
print(combined_selected_cols)

示例2:提取wave_transposed的前3行,与main_transposed行拼接

# 提取wave_transposed的前3行(第0到2行,所有列)
wave_selected_rows = wave_transposed.iloc[0:3, :]
# 行方向拼接选定部分
combined_selected_rows = pd.concat([main_transposed, wave_selected_rows], axis=0)
print(combined_selected_rows)

补充说明

  • iloc[a:b, c:d]中,a:b表示行的范围(左闭右开),c:d表示列的范围;如果要选单行/单列,比如第1行可以写iloc[1, :],第2列写iloc[:, 2]。
  • 如果你的矩阵有自定义索引,也可以用loc按索引标签选择区域,比如wave_transposed.loc['row1':'row3', 'colA':'colC']。

内容的提问来源于stack exchange,提问作者Jonas Freiheit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 11:22:33