小编Mel*_*123的帖子

在Python中用另一列的值更新一列,但仅限NaN值

您好,我正在尝试使用 .update() 函数使用同一数据框中另一列 (C) 的值更新一列 (B) 的值。但是,我只想替换 B 列中 NaN 的值。我尝试使用 overwrite = False 参数,但我不断收到错误:

df = pd.DataFrame({'A': [1, 2, 3],
                   'B': [400, np.nan, 600],
                   'C': [32,54,300]})
df['B'].update(df['C'], overwrite = False) 
df

#Output:
#TypeError: update() got an unexpected keyword argument 'overwrite'

#The intended output I'm looking for is this: 
    A   B       C
0   1   400.0   32
1   2   54.0    54
2   3   600.0   300
Run Code Online (Sandbox Code Playgroud)

但是,当我使用 update.() 函数更新整个数据集时,覆盖参数有效:

df = pd.DataFrame({'A': [1, 2, 3],
                   'B': [400, np.nan, 600],
                   'C': [32,54,300]})
new_df …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

3
推荐指数
1
解决办法
1490
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1