gpt4 book ai didi

python - 我们如何才能仅替换特定行中的 NaN?

转载 作者:行者123 更新时间:2023-12-02 09:19:44 25 4
gpt4 key购买 nike

我只需要替换数据帧的特定行中的 NaN 值。我原来的样子是这样的:

import pandas as pd
import numpy as np
pd.DataFrame.from_dict({'col1': 'A B A D E B C D E A'.split(),
'col2': [np.nan, 0, 1, np.nan, np.nan, np.nan, 1, np.nan, np.nan, 0]})

如果col1等于AB并且col2是NaN,那么我想替换它为 0。对于 col1 的其他值,NaN 应保持不变。

我的第一个想法是使用 pd.DataFrame.replace 并编写如下内容:

data.loc[data['col1'].isin(['A', 'B']), 'col2'].replace({np.nan: 0}) 

但它似乎没有按预期工作,并且用 0 填充所有 NaN。

最佳答案

你可以只做一个loc:

df.loc[df.col1.isin(['A','B']) & df.col2.isna(), 'col2'] = 0

关于python - 我们如何才能仅替换特定行中的 NaN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60158035/

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