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

如何删除DataFrame重复值行?如何合并同前缀列?

解决方案

你可以通过Pandas的fillna方法快速合并互补的列,步骤如下:

  1. 构造示例数据(模拟你的DataFrame):
import pandas as pd
import numpy as np

df = pd.DataFrame({
    'ABC_x': ['A', 'B', np.nan, np.nan, 'G'],
    'Quantity silent': ['05', '03', np.nan, np.nan, '01'],
    'ABC_y': [np.nan, np.nan, 'D', 'E', np.nan],
    'Quantity noirse': [np.nan, np.nan, '08', '09', np.nan]
})
  1. 合并目标列:
# 合并ABC_x和ABC_y为ABC列
df['ABC'] = df['ABC_x'].fillna(df['ABC_y'])
# 合并Quantity相关列为Quantity列
df['Quantity'] = df['Quantity silent'].fillna(df['Quantity noirse'])
# 提取需要的列并重置索引
result_df = df[['ABC', 'Quantity']].reset_index(drop=True)

执行后result_df就是你期望的结果:

ABCQuantity
A05
B03
D08
E09
G01

补充说明

因为你的原始数据中,ABC_x与ABC_y、Quantity silent与Quantity noirse是互补的(每行仅其中一列有有效值),fillna会自动用另一列的非空值填充当前列的缺失值,完美匹配你的需求。你也可以用combine_first方法替代fillna,效果完全一致:

df['ABC'] = df['ABC_x'].combine_first(df['ABC_y'])
df['Quantity'] = df['Quantity silent'].combine_first(df['Quantity noirse'])

内容的提问来源于stack exchange,提问作者Nguyen Minh Trung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:45:34