如何在Pandas中创建新列并统一填充指定固定值
问题原因
你使用的代码逻辑建立在plan列已经存在的前提下,但当前你的数据集原本没有plan列,调用df['plan'].fillna()时会因为找不到对应列无法完成赋值,自然无法成功创建新列。
正确实现方式
最简方案
Pandas支持直接给不存在的列赋值标量,会自动将该列所有行填充为相同值,一行代码即可完成需求:
df['plan'] = '21'
调整列顺序(匹配期望输出)
如果需要将plan列放在所有列的最前面,可以追加一行代码调整列顺序:
df = df[['plan', 'id', 'start', 'stat']]
可选方案(先创建空列再填充)
如果你确实需要沿用fillna的写法,需要先初始化空的plan列再填充:
import pandas as pd # 先创建空列 df['plan'] = pd.NA # 再填充指定值 df['plan'] = df['plan'].fillna('21')
内容的提问来源于stack exchange,提问作者Lynn
相关产品推荐
相关产品推荐

