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

Pandas 2.1.4版本中fillna方法未按预期生效的问题求助

Pandas 2.1.4版本中fillna方法未按预期生效的问题求助

大家好,我最近在Colab上处理Pandas数据的时候碰到了一个奇怪的问题,想请教下各位大佬。

首先先给大家看下我的原始DataFrame:

import pandas as pd 
df = pd.DataFrame(
    {
        'a': ['long', 'long', 'short', 'long', 'short', 'short', 'short'],
        'b': [1, -1, 1, 1, -1, -1, 1],
    }
)

我想要生成一个新列a_1,预期的输出结果是这样的:

aba_1
0long1long
1long-1long
2short1short
3long1long
4short-1long
5short-1long
6short1short

我的实现逻辑是这样的:先把b列等于-1的行的a_1设为'long',然后用fillna把空值用a列的值填充:

df.loc[df.b.eq(-1), 'a_1'] = 'long'
df['a_1'] = df.a_1.fillna(df.a)

但问题来了,这段代码在Pandas 1.2.4版本里是正常工作的,可是在Colab当前默认的2.1.4版本里,fillna完全不生效,结果根本不是我想要的样子,这实在太奇怪了!有没有朋友碰到过类似的情况,或者知道这是怎么回事呀?

备注:内容来源于stack exchange,提问作者AmirX

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 08:19:35