gpt4 book ai didi

python - 根据条件将多个列值设置为 NaN

转载 作者:太空宇宙 更新时间:2023-11-04 11:09:36 25 4
gpt4 key购买 nike

我正在尝试根据应用于其中一列的条件将数据框中的 2 列中的值设置为 null。

我知道如何根据条件将 1 列的值设置为空。我在以下使用 col3 的示例中这样做。我的问题是如何将同一行的 col2 中的值也设置为 null?

df = pd.DataFrame([['a',1, 10],
['b',2, 20],
['c',3, 30],
['d',4, 40],
['e',5, 50]], columns=['col1','col2','col3'])

df
Out[121]:
col1 col2 col3
0 a 1 10
1 b 2 20
2 c 3 30
3 d 4 40
4 e 5 50

df['col3'].mask(df['col3']<30,inplace=True)

df
Out[123]:
col1 col2 col3
0 a 1 NaN
1 b 2 NaN
2 c 3 30.0
3 d 4 40.0
4 e 5 50.0

试了下面的方法还是不行

df['col2','col3'].mask(df['col3']<30,inplace=True)

我想要的输出是

  col1  col2  col3
0 a NaN NaN
1 b NaN NaN
2 c 3 30.0
3 d 4 40.0
4 e 5 50.0

最佳答案

您可以尝试在此处找到的 df.loc:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html .

通过这种方式,您可以声明选择行的条件,以及要应用更改的列的列表。

使用 numpy 中的常量 NaN:https://docs.scipy.org/doc/numpy/reference/constants.html?highlight=nan#numpy.nan .

df.loc[df['col3']<30,['col2','col3']] = np.nan

结果 df 将是。

  col1  col2  col3
0 a NaN NaN
1 b NaN NaN
2 c 3.0 30.0
3 d 4.0 40.0
4 e 5.0 50.0

关于python - 根据条件将多个列值设置为 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58633723/

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