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

Python中如何为DataFrame新增列A,按列B连续5个空值规则分配标记

代码实现(基于Pandas)

首先提前安装pandas依赖,执行pip install pandas即可。

完整示例代码

import pandas as pd
import numpy as np

# 构造测试DataFrame,可替换为自有数据源
df = pd.DataFrame({
    'B': [1,2,np.nan,np.nan,np.nan,np.nan,np.nan,3,np.nan,np.nan,np.nan,np.nan,4]
})

# 核心处理逻辑
# 1. 识别空值并对连续空值做分组
null_group = df['B'].notna().cumsum()
# 2. 统计每个分组的连续空值长度
consecutive_null_len = df.groupby(null_group)['B'].transform(lambda x: x.isna().sum())
# 3. 按规则给新列A分配标记
df['A'] = np.where(consecutive_null_len >= 5, 'text-1', 'text-2')

print(df)

注意事项

  • 如果你的数据中B列的空值是空字符串''而非NaN,需要先执行替换操作:df['B'] = df['B'].replace('', np.nan)再运行后续逻辑
  • 核心分组逻辑df['B'].notna().cumsum()会给每一段连续空值分配相同的分组编号,统计完分组长度后即可快速判断是否满足连续5个空值的判定条件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 04:06:05