新增Total列与索引列未在df.info()中显示,无法绘图求助
问题解决:DataFrame新增列未在
df.info()中显示及索引列的处理 一、Total列未显示的问题
你用df['Total'] = df[list(df.columns)].sum(axis=1)添加列的方式是正确的,不需要加inplace=True——直接给df['列名']赋值本身就是原地修改DataFrame,inplace=True仅针对返回新对象的方法(如df.drop()),此处完全用不上。
出现df.info()未显示Total列的核心原因,大概率是操作后未正确保留修改,或是代码执行顺序出错:
- 检查是否在赋值后重新加载了原始数据;
- 确认
df['Total'] = ...的代码块确实已执行,未被逻辑分支跳过。
可以先执行print(df.columns)确认Total列是否存在,若输出包含'Total',df.info()必然会显示该列。
二、索引列在df.info()中不显示的问题
df.info()默认仅展示DataFrame的数据列,你那包含A/B/C/D的索引不属于数据列范畴,因此不会出现在info的列列表中。若要让索引被当作普通列显示,可将其转换为数据列:
# 将索引转为普通列,自定义列名为'Index' df = df.reset_index(names='Index')
执行后再运行df.info(),就能看到新增的'Index'列。
三、验证步骤
- 确认Total列已添加:
print(df.columns.tolist()) # 预期输出: ['H1', 'H2', 'H3', 'Total']
- 若需要索引显示为列,执行重置索引的代码;
- 最后运行
df.info(),即可看到Total列和转换后的索引列。
内容的提问来源于stack exchange,提问作者Tex
相关产品推荐
相关产品推荐

