gpt4 book ai didi

python - np.where 在我的 Pandas 中不起作用

转载 作者:太空狗 更新时间:2023-10-29 21:34:00 27 4
gpt4 key购买 nike

我有一个使用 Pandas 的 np.where 问题,这让我发疯,我似乎无法通过谷歌、文档等解决。

我希望有人有见识。我相信这并不复杂。

我有一个 df,我在其中检查一列中的值 - 如果该值是“n/a”(作为字符串,而不是在 .isnull() 中),则将其更改为另一个值。

Full_Names_Test_2['MarketCap'] == 'n/a'

返回:

70      True
88 False
90 True
145 True
156 True
181 True
191 True
200 True
219 True
223 False
Name: MarketCap, dtype: bool

所以那部分工作。

但是这个:

Full_Names_Test_2['NewColumn'] = np.where(Full_Names_Test_2['MarketCap'] == 'n/a', 7)

返回:

ValueError: either both or neither of x and y should be given

这是怎么回事?

最佳答案

您需要传递 bool 掩码和(两个)值列:

np.where(Full_Names_Test_2['MarketCap'] == 'n/a', 7)
# should be
np.where(Full_Names_Test_2['MarketCap'] == 'n/a', Full_Names_Test_2['MarketCap'], 7)

查看 np.where文档。

或者使用 the where Series method :

Full_Names_Test_2['MarketCap'].where(Full_Names_Test_2['MarketCap'] == 'n/a', 7)

关于python - np.where 在我的 Pandas 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266344/

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