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

Pandas中如何将多列两两追加到A、B两列下生成2列72行数据

问题原因

你使用append时出现大量NaN的核心原因是,待拼接的子DataFrame列名和初始的A、B列名不匹配,Pandas拼接时默认按列名对齐,不存在的列就会填充空值。

解决方案

你可以选择以下任意一种方式实现需求:

方案1:numpy变形实现(最高效,代码量最少)

直接对原DataFrame的底层数值做维度变形,一步得到目标结构:

import numpy as np
import pandas as pd

# 12*12的数组变形为72行2列,再封装为DataFrame
result = pd.DataFrame(dffvstats.values.reshape(-1, 2), columns=['A', 'B'])

方案2:分组拼接实现(可读性更强,可灵活调整分组规则)

将原表按每2列分为一组,统一列名后纵向拼接:

# 按步长2拆分所有列为6个两列的子表
col_groups = [dffvstats.iloc[:, i:i+2] for i in range(0, 12, 2)]
# 所有子表统一列名后拼接,ignore_index=True重置行索引
result = pd.concat(
    [group.set_axis(['A', 'B'], axis=1) for group in col_groups],
    ignore_index=True
)

注意事项

  • 旧版Pandas的append方法已被弃用,后续版本会移除,所有纵向拼接场景都推荐使用pd.concat
  • 如果需要保留原始行的索引标记,可以去掉ignore_index=True参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:18:01