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

Python:如何将DataFrame列的有效值填充为对应行的标签

解决方案

直接用Pandas的ffill()(前向填充)方法就能搞定,不过要先把字符串类型的'nan'转成真正的缺失值,具体步骤如下:

  1. 替换字符串缺失值:先把Col1里的字符串'nan'换成Pandas能识别的np.nan
  2. 前向填充有效值:对处理后的Col1使用ffill(),自动把上一个有效值向下填充到下一个有效值之前的所有行

完整代码示例

import pandas as pd
import numpy as np

# 原始数据
data = {'Col1': ['Alabama', 'nan', 'nan', 'nan', 'Wyoming', 'nan', 'nan', 'nan'],
        'Col2': ['nan', 1, 2, 3, 'nan', 1, 2, 3]}

df = pd.DataFrame(data)

# 1. 将字符串'nan'转为真实缺失值
df['Col1'] = df['Col1'].replace('nan', np.nan)

# 2. 前向填充Col1的有效值
df['Col1'] = df['Col1'].ffill()

# 可选:如果Col2的'nan'也需要转成缺失值,同样处理
df['Col2'] = df['Col2'].replace('nan', np.nan)

print(df)

输出结果

Col1  Col2
0  Alabama   NaN
1  Alabama   1.0
2  Alabama   2.0
3  Alabama   3.0
4  Wyoming   NaN
5  Wyoming   1.0
6  Wyoming   2.0
7  Wyoming   3.0

如果你的真实数据里Col1的缺失值已经是np.nan(不是字符串),可以跳过第一步直接用df['Col1'] = df['Col1'].ffill()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:55:09