我有一个大的df,具有类似的分类序数值,我想把它转换成数字尺度。 模拟df试图解释:
data = {'Fruit':[1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'Weight':[23, 45, 31, 28, 62, 12, 44, 42, 23, 32],
'Taste':['good', 'so so', 'very good', 'awful', 'awful', 'very good', 'good', 'good', 'awful', 'good'],
'Look':['good', 'good', 'so so', 'awful', 'so so', 'very good', 'very good', 'good', 'awful', 'good']}
df = pd.DataFrame(data)
我想将“Taste”和“Look”中的值从“very good”等更改为4-1。如果是一列,我只写:df['Taste'] = df['Taste'].map({'very good': 4, 'good': 3, 'so so': 2, 'awful': 1})
但这对df[['Taste', 'Look']] = df[['Taste', 'Look']].map({'very good': 4, 'good': 3, 'so so': 2, 'awful': 1})
不起作用
我还尝试了:df.update(df[['Taste', 'Look']].map({'very good': 4, 'good': 3, 'so so': 2, 'awful': 1}))
,但它不起作用
有什么窍门吗
将^{} 与
get
一起使用:可以使用
map
解决问题,但需要使用unstack
解决问题:相关问题 更多 >
编程相关推荐