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

为何这段代码最终输出不显示产品名且出现unnamed字段?

问题原因

代码存在两处逻辑错误,直接导致字段丢失、csv出现unnamed列:

  1. 第二行赋值完全覆盖了第一行生成的带两列的DataFrame:第一行你已经筛选出Product_name、Product_price两列存入newdf,但第二行直接执行newdf=df.Product_price*2,把newdf整体替换成了仅存储价格翻倍结果的一维Series,原本选中的Product_name字段直接被丢弃,没有保留到最终结果里。
  2. 一维Series导出csv时,默认会把行索引导出为第一列,这一列没有设置表头,后续打开csv或者读入pandas时就会被自动命名为unnamed:0。
修复方案

按顺序调整代码即可:

  • 不要整体覆盖newdf,仅对Product_price列做翻倍计算,保留Product_name字段,同时加copy()避免链式赋值警告:
newdf = df[['Product_name', 'Product_price']].copy()
newdf['Product_price'] = newdf['Product_price'] * 2
  • 导出csv时增加index=False参数,不导出行索引,从根源避免unnamed列出现:
newdf.to_csv('newsales.csv', index=False)
  • 调整完成后运行newdf,输出结果会同时展示产品名称、翻倍后的价格两列,导出的csv文件也不会再出现unnamed相关内容。

注意:之前生成的带unnamed列的旧csv文件直接被新导出的文件覆盖即可,不需要额外做格式修正。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 08:57:18