【发布时间】:2022-01-17 15:53:32
【问题描述】:
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'])
我有一个房价数据集,其中“视图”列以 1-4 的等级对视图进行评分。我想使用此操作将它们更改为字符串,但是这段代码仅适用于第一行。
df['view'].value_counts()
-No view 4140
2 205
3 116
4 70
1 69
Name: view, dtype: int64
如何让 np.where() 也适用于其他人?
【问题讨论】:
-
在第一个
np.where之后,该列的数据类型变为object以将字符串和整数保持在一起。所以1、2、3、4在第一行之后都变成了“1”,……后面的np.wheres都没有生效。