我有一个熊猫数据框,其中有一列 CAS_BRM_IDA 类型为 category (即使它的值看起来是 foat 类型......但它们本身没有意义)
我从该数据框构建了以下系列:
p = df.groupby( [ 'CAS_BRM_IDA' ] ).mean()[ 'TOP_FRD']
print( p )
结果显示:
CAS_BRM_IDA
10.0 0.001131
13.0 0.000000
15.0 0.002038
17.0 0.000000
20.0 0.003802
...
missing 0.019549
然后我尝试使用该系列构建字典:
mydic = dict( [ ( i , p[i] ) for i in p.index ] )
但我收到以下错误消息:
TypeError: cannot do label indexing on <class 'pandas.core.indexes.category.CategoricalIndex'> with these indexers [10.0] of <class 'float'>
关于 p 指数的一些细节:
CategoricalIndex(
[10.0, 13.0, 15.0, 17.0, 20.0, 21.0, 30.0, 31.0, 40.0, 43.0,
50.0, 51.0, 56.0, 'missing'],
categories=[10.0, 13.0, 15.0, 17.0, 20.0, 21.0, 30.0, 31.0, ...],
ordered=False, name='CAS_BRM_IDA', dtype='category')
我无法弄清楚问题出在哪里。'10.0' 值似乎被解释为浮点数,我认为不是。
如何从具有包含浮点数的分类索引的系列中构建字典?