我的DataFrame是94列728k行。每个值都是表示颜色的字符串。我打算将每种颜色转换为相应的数值。熊猫:有效地改变多个列中的多个值
这是一个可重现的例子。在这个例子中,我希望将字符串转换如下:
blue = 1
green = 2
red = 3
grey = 4
orange = 5
data = {'group1': ['red', 'grey', 'blue', 'orange'],
'group2': ['red', 'green', 'blue', 'blue'],
'group3': ['orange', 'blue', 'orange', 'green']}
data = pd.DataFrame(data)
data
group1 group2 group3
0 red red orange
1 grey green blue
2 blue blue orange
3 orange blue green
输出将是:
group1 group2 group3
0 3 3 5
1 4 2 1
2 1 1 5
3 5 1 2
我怎么能这样做有效地给予我的实际数据的大小?
可能不是你在寻找什么,但看看sklearn.preprocessing.LabelEncoder为好。 http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html – ayhan