在MultiIndex

时间:2016-02-02 22:24:22

标签: python pandas unicode

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

                              Column1
indexA   indexB                        
1001     aaa                        1
         bbb                        1
         ccc                        1
         ddd                        1

创建

pd.read_sql(sql=sql, index_col=['indexA', 'indexB'])

MySQL正在indexB中读取unicode,我想将其转换为字符串。我的目标是转动表并使indexB中的条目成为列名。当我使用unicode值执行此操作时,我得到以下列名:

�  �  �  �  �  �  �  �  �

运行时

pd.read_sql(sql=sql, index_col=['indexA', 'indexB']).unstack().fillna(0)

编辑:评论建议如下:

df = pd.read_sql(sql)
df['indexB'] = df['indexB'].astype(str)
df = df.set_index(('indexA', 'indexB'), drop=True)

这是一个很好的解决我的问题(谢谢)。如果能在初始化期间完成这项工作,我们仍然会很高兴。

1 个答案:

答案 0 :(得分:0)

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

df= df.reset_index()
df['indexB'] = df['indexB'].astype(str)