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

Pandas横向拼接DataFrame出现NaN值该如何修复

问题原因

横向拼接时pandas会默认按行索引对齐数据,你两次提取的K1批次Value列的行索引分别是[0,1,2]和[6,7,8],索引无法匹配的位置就会被填充为NaN。

修改方案

只需要在提取批次Value列时重置索引,丢弃全局行号,保证每个3行批次的索引统一为[0,1,2]即可。另外建议不要使用dict作为变量名,避免覆盖Python内置的字典类型。

修改后的完整代码如下:

import pandas as pd

# 创建初始字典
data = {'Value':[0,0,0]}
kernel_df = pd.DataFrame(data, index=['M1','M2','M3'])
df_dict = {'dummy':kernel_df}

df = pd.read_csv('test.batch.csv')
for i in range(0, len(df), 3):
    batch_df = df.iloc[i:i+3]
    name = batch_df.loc[i].at["Name"]
    # 关键修改:重置索引,去掉原有全局行号
    values = batch_df.loc[:,["Value"]].reset_index(drop=True)
    if name in df_dict:
        df_dict[name] = pd.concat([df_dict[name], values], axis=1)
    else:
        df_dict[name] = values

运行后得到的字典结果和你期望的完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:24:07