python - pandas或者sklearn中如何将字符形式的标签数字化
ringa_lee
ringa_lee 2017-04-18 10:06:45
0
4
1779

例如我有一个标签列形如:
[A,A,A,B,B,C,C,C,C]
转化为:
[0,0,0,1,1,2,2,2,2]

pandas和scikit-learn中有简单的实现吗?

另外大家在学习一个新的包时是怎样根据问题找到文档的具体位置的?有啥经验可以交流下吗?谢谢啦!

ringa_lee
ringa_lee

ringa_lee

membalas semua(4)
左手右手慢动作

pandas sangat mudah untuk dilaksanakan, cuma tukarkannya kepada objek Kategori. Istilah dipanggil faktor dan tahap, dan tahap secara umumnya ditukar kepada storan berangka.

c = ['A','A','A','B','B','C','C','C','C']
category = pd.Categorical(c)

Seterusnya, semak label kategori

print category.labels
洪涛

Terdapat yang siap dalam sklearn:

preprocessing.LabelEncoder().fit_transform(data)

Lihat dokumentasi rasmi untuk butiran

Anda boleh terus menukar antara aksara dan nombor

阿神

Saya tidak pernah menggunakannya dalam amalan Saya tidak tahu sama ada fungsi map boleh memenuhi keperluan anda untuk butiran, sila rujuk dokumen
http://pandas.pydata.org/pand. ..

大家讲道理

Ini hanya logik 映射 Tidak perlu menggunakan panda dan scikit-belajar Mereka berlebihan dan berlebihan

a = ['A','A','A','B','B','C','C','C','C']
result = [x for x in map(lambda c: ord(c) - ord('A'), a)]

Jika anda perlu menggunakan panda, bukankah ini yang betul?Series

import pandas as pd
a = ['A','A','A','B','B','C','C','C','C']
result = pd.Series(a).map(lambda c: ord(c) - ord('A'))
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan