首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在MultiIndex上更改Pandas索引数据类型

在MultiIndex上更改Pandas索引数据类型
EN

Stack Overflow用户
提问于 2016-02-02 22:24:22
回答 2查看 3.2K关注 0票数 6

我有一个有两个索引的Pandas数据

代码语言:javascript
复制
                              Column1
indexA   indexB                        
1001     aaa                        1
         bbb                        1
         ccc                        1
         ddd                        1

创建者

代码语言:javascript
复制
pd.read_sql(sql=sql, index_col=['indexA', 'indexB'])

MySQL正在以unicode的形式读取indexB,我希望将其转换为字符串。我的目标是对表进行枢轴,并将indexB中的条目作为列名。当我使用unicode值执行此操作时,将得到以下列名:

代码语言:javascript
复制
�  �  �  �  �  �  �  �  �

跑步时

代码语言:javascript
复制
pd.read_sql(sql=sql, index_col=['indexA', 'indexB']).unstack().fillna(0)

编辑:评论建议如下:

代码语言:javascript
复制
df = pd.read_sql(sql)
df['indexB'] = df['indexB'].astype(str)
df = df.set_index(('indexA', 'indexB'), drop=True)

这是一个很好的工作围绕我的问题(谢谢)。如果能在初始化过程中完成,那还是很好的。

EN

回答 2

Stack Overflow用户

发布于 2017-11-02 08:57:35

可以在更改类型之前重置索引。

代码语言:javascript
复制
df= df.reset_index()
df['indexB'] = df['indexB'].astype(str)
票数 0
EN

Stack Overflow用户

发布于 2022-07-26 18:36:24

如果df.columns是一个MultiIndex,并且您想一次将所有列名更改为多个级别:

检查这里的答案:https://stackoverflow.com/a/73128216/11541027

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35164964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档