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

Pandas:将一列数据移至另一列的同行位置

解决方法

针对这个需求,你可以用Pandas的fillna()方法结合列删除操作来实现,步骤如下:

  • 用QTY 2列的值填充QTY列的空值(因为每行仅一列有值,不会出现覆盖问题)
  • 删除多余的QTY 2列

代码实现

import pandas as pd

# 构造原DataFrame
data = {
    'Product': ['Shoes', 'Jumpers', 'T Shirts', 'Shorts'],
    'QTY': [5, None, None, 13],
    'QTY 2': [None, 10, 15, None]
}
df = pd.DataFrame(data)

# 填充QTY列并删除QTY 2列
df['QTY'] = df['QTY'].fillna(df['QTY 2'])
df = df.drop(columns=['QTY 2'])

print(df)

输出结果

IndexProductQTY
0Shoes5
1Jumpers10
2T Shirts15
3Shorts13

另外也可以用combine_first()方法实现相同效果,代码更简洁:

df['QTY'] = df['QTY'].combine_first(df['QTY 2'])
df = df.drop(columns=['QTY 2'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:27:28