0
如何在pyspark中應用索引器,但是按字母順序排列類別?應用StringIndexer PySpark數據框但按字母順序排列
我有我的索引值的字典,應用Stringindexer後,但我想命令它不同。
index_df = StringIndexer(inputCol="gender", outputCol="genderIndex")
meta = [f.metadata for f in index_df.schema.fields if f.name == "genderIndex"]
meta
[{u'ml_attr': {u'name': u'genderIndex',
u'type': u'nominal',
u'vals': [u'Male', u'Female']}}]
a=dict(enumerate(meta[0]["ml_attr"]["vals"]))
a=
{0: u'Male', 1: u'Female'}
但是,例如,我想女性爲0,並且如果它是一個,B,C
我想A = 0,B = 1,C = 2,等等。
StringIndexer根據標籤頻率爲列標籤提供索引。對於你的情況,認爲我們可能不得不編碼自定義變壓器來做到這一點。 – Suresh
我不知道您的用例,但如果您要將索引列保存到字典中,並且不打算將它用於ML管道,請訂購該列並執行密集排名。這可能會幫助你。 – Suresh