如何解决熊猫中CategoricalIndex列的问题?

beyond_inifinity

我正在处理芝加哥犯罪数据,并希望汇总每个地区/社区区域的前5名犯罪的计数。但是,我的代码有效,但是在数据框列中出现了不需要的索引和CategoricalIndex类型列,这使我无法访问特定列以进行进一步的数据处理。

我做了什么

crimes_2012 = pd.read_csv('Chicago_Crimes_2012_to_2017.csv', sep=',', error_bad_lines=False)
df=crimes_2012[['Primary Type', 'Location Description', 'Community Area']]
crime_catg = df.groupby(['Community Name', 'Primary Type'])['Primary Type'].count().unstack()
crime_catg = crime_catg[['THEFT','BATTERY', 'CRIMINAL DAMAGE', 'NARCOTICS', 'ASSAULT']]
crime_catg = crime_catg.dropna()

这是我当前需要改进的输出:

在此处输入图片说明

这是我的尝试

当我尝试下面的代码时,我仍然没有得到新的索引,并且索引名称在输出数据框中显示为奇怪。为什么?如何解决这个问题?任何想法?谢谢

在此处输入图片说明

即使我尝试重新索引数据框,也毕竟没有获得新的索引。

crime_catg.reindex(inplace=True, drop=True)

有解决这个问题的主意吗?任何想法?

克里斯·A

有两种方法可以解决此问题。

1)保留CategoricalIndex类型和使用.add_categories方法以更新有效类别,例如,解决您的.reindex问题:

crime_catg.columns = crime_catg.columns.add_categories(['Community Name'])

2)转换为pandas.Index

crime_catg.columns = pd.Index(list(crime_catg.columns))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章