如何将不同长度NumPy数组合并为指定格式的Pandas DataFrame?
高效合并不同长度NumPy数组为指定格式的Pandas DataFrame
可以利用Pandas的索引对齐特性实现高效合并,步骤如下:
实现代码
import numpy as np import pandas as pd # 定义输入数组 a = np.array([1,2,3]) b = np.array([2,3,4]) c = np.array([1,2,4]) # 将每个数组转为Series,用数组元素自身作为索引 series_a = pd.Series(a, index=a) series_b = pd.Series(b, index=b) series_c = pd.Series(c, index=c) # 按列合并Series,自动对齐索引,缺失值填充NaN df = pd.concat([series_a, series_b, series_c], axis=1) # 重命名列名 df.columns = ['Column A', 'Column B', 'Column C'] print(df)
输出结果
Column A Column B Column C 1 1.0 NaN 1.0 2 2.0 2.0 2.0 3 3.0 3.0 NaN 4 NaN 4.0 4.0
原理说明
- 将每个NumPy数组转为Series时,把数组元素同时作为Series的索引和值,为后续自动匹配对应位置做准备。
- 使用
pd.concat按列合并三个Series,默认join='outer'会保留所有索引(即三个数组的所有唯一值),缺失位置自动填充NaN。 - 最后重命名列名即可得到目标格式的DataFrame。
这种方法依赖Pandas内置优化操作,无需手动循环或判断,效率更高,适合处理大规模数据。
内容的提问来源于stack exchange,提问作者kyara
相关产品推荐
相关产品推荐

