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

如何使用Python Pandas将DataFrame的两列合并为单列

合并Pandas DataFrame的Marks1与Marks2列

首先是原始的DataFrame定义:

import pandas as pd

df1 = pd.DataFrame({'Name':['Raju', 'Divya', 'Geeta', 'Sita', 'Raju','Sita','Ramu'],
                    'Marks1':[80, 90, 'Nan', 88, 'Nan',40,'Nan'],'Marks2':['Nan','Nan', 30, 88,23,40,'Nan']})

需求是将Marks1列中的Nan值替换为Marks2列对应位置的值,最终得到新的Marks1列,Name列保持不变。

实现方法

先把字符串格式的'Nan'转为Pandas可识别的缺失值,再用fillna()方法用Marks2列的值填充Marks1的缺失:

# 统一缺失值格式
df1['Marks1'] = df1['Marks1'].replace('Nan', pd.NA)
df1['Marks2'] = df1['Marks2'].replace('Nan', pd.NA)

# 用Marks2填充Marks1的缺失值
df1['Marks1'] = df1['Marks1'].fillna(df1['Marks2'])

# 转回原始的'Nan'字符串格式(可选,按需保留)
df1['Marks1'] = df1['Marks1'].fillna('Nan')

最终结果

处理后的对应列内容如下:

'Name':['Raju', 'Divya', 'Geeta', 'Sita', 'Raju','Sita','Ramu']
'Marks1':[80, 90,30, 88,23,40,'Nan']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:57:24