gpt4 book ai didi

python - np.where( ) 不改变所有的值

转载 作者:行者123 更新时间:2023-12-05 01:25:39 30 4
gpt4 key购买 nike

df['view'] = np.where(df['view']==0, 'No view', df['view'])
df['view'] = np.where(df['view']==1, 'Mediocore', df['view'])
df['view'] = np.where(df['view']==2, 'Average', df['view'])
df['view'] = np.where(df['view']==3, 'Good', df['view'])
df['view'] = np.where(df['view']==4, 'Very good', df['view'])

我有一个房价数据集,其中“ View ”列按 1-4 的等级对 View 进行评分。我想使用此操作将它们更改为字符串,但是这段代码仅适用于第一行。

df['view'].value_counts()

-No view 4140
2 205
3 116
4 70
1 69
Name: view, dtype: int64

我如何让 np.where() 也为它们的其余部分工作?

最佳答案

Numpy 会在第一次调用时将数组转换为字符串,这意味着列中不再有 1,而是“1”。

这段代码可以工作:

df['view'] = np.where(df['view']==0, 'No view', df['view'])
df['view'] = np.where(df['view']=='1', 'Mediocore', df['view'])
df['view'] = np.where(df['view']=='2', 'Average', df['view'])
df['view'] = np.where(df['view']=='3', 'Good', df['view'])
df['view'] = np.where(df['view']=='4', 'Very good', df['view'])

我知道您问过如何让 numpy 的“在哪里”工作,我认为上面的内容确实如此。但值得一提的是,pandas apply 在这里也可能工作得很好,按照布局与字典进行映射,另一个答案会更好。

关于python - np.where( ) 不改变所有的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70744100/

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