0
我正在使用patsy爲迴歸準備分類數據,並且想要將列名映射到其DesignMatrix
中的索引。我已嘗試使用DesignInfo
對象的column_name_indexes
屬性,但列名已被修改以反映編碼。patsy中未修改的列名索引
實施例使用從docs數據:
>>> from patsy import demo_data, dmatrix
>>> data = demo_data("a", nlevels=3)
>>> data
{'a': ['a1', 'a2', 'a3', 'a1', 'a2', 'a3']}
>>> x = dmatrix("a", data)
>>> x
DesignMatrix with shape (6, 3)
Intercept a[T.a2] a[T.a3]
1 0 0
1 1 0
1 0 1
1 0 0
1 1 0
1 0 1
Terms:
'Intercept' (column 0)
'a' (columns 1:3)
>>> x.design_info.column_name_indexes
OrderedDict([('Intercept', 0), ('a[T.a2]', 1), ('a[T.a3]', 2)])
我想能夠訪問的例如列索引'a2'
致電:
x.design_info.column_name_indexes['a2']
當然,返回KeyError: 'a2'
,但。所以不是我要構建修改密鑰自己,以獲得所需的列索引1
:
x.design_info.column_name_indexes['a[T.a2]']
是否有參照未修改的功能/列名訪問列索引的方式,即'a2'
而不是必須構造修改後的密鑰,即'a[T.a2]'
?