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

如何使用pandas删除dataframe特定单元格NaN值并合并为单行数据

实现方法

你可以通过pandas的聚合操作直接提取每列的非空有效值,再重构为单行DataFrame即可,两种常用实现方式如下:

  • 方法1:使用first聚合(最优,代码最短性能最高)
    每列仅存在1个有效值的场景下,直接对全表按列取第一个非空值,再转置为单行结构:
import pandas as pd
import numpy as np

# 构造示例数据(实际使用时替换为自己的df即可)
df = pd.DataFrame({
    't': ['a', np.nan, np.nan],
    'c': [np.nan, 'b', np.nan],
    'i': [np.nan, np.nan, 'c']
})

# 核心处理代码
result = df.agg('first').to_frame().T
  • 方法2:手动对每列删空取值(适合列存在多个非空值、需自定义取值规则的场景)
    如果需要自定义每列的取值逻辑(比如取最后一个有效值),可以逐列处理后再拼接:
# 取每列第一个非空值,转置为单行
result = df.apply(lambda col: col.dropna().iloc[0]).to_frame().T

两种方法输出的result都符合你要求的结构:

索引tci
0'a''b''c'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 12:09:00