gpt4 book ai didi

python - 在 Python 中替换数据框中的值

转载 作者:行者123 更新时间:2023-11-28 22:42:22 25 4
gpt4 key购买 nike

我是 python 的新手,正在尝试学习如何使用它进行数据分析。我在 python 中有一个数据框(称为“数据”)。我希望重新编码一个变量 GEND,它具有三个值(1、2、3)。使用 pandas,我使用 pd.read_csv() 读取了一个 csv 文件。我正在尝试将变量 GEND 中“3”的所有实例替换为缺失 (NaN)。但是,我似乎无法找到该怎么做。到目前为止,我已经尝试了一个for循环,它没有显示错误,但没有改变变量信息:

for value in data.GEND:
if value == 3:
value = np.nan

我也试过这个,它没有显示错误,但也没有做任何事情:

data.GEND.loc[3] = np.nan

还有这个,它工作但将 ID 变量的值更改为“3”,但在其他方面正确地将 GEND 变量中的“3”的值更改为 NaN:

data.GEND.replace(to_replace=3, value = nan) 

我在这里错过了什么?我还想知道如何执行上述操作,但要在包含新信息的数据框中创建一个新列(这样,如果我搞砸了,我可以保留原始值)。

最佳答案

您可以使用 loc 来替换 3:

df = pd.DataFrame({'GEND':[1,2,1,2,3,1,2,3,1,2,1,2,]})
df.loc[df.GEND == 3, 'GEND'] = np.NaN

    GEND
0 1
1 2
2 1
3 2
4 NaN
5 1
6 2
7 NaN
8 1
9 2
10 1
11 2

同样使用 where 你可以获得同样的结果:

df.GEND = df.GEND.where(df.GEND != 3)

关于python - 在 Python 中替换数据框中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31820023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com