我有一个带有两个索引的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)
这是解决我的问题的好方法(谢谢)。如果能在初始化期间完成此操作,还是很高兴知道的。
最佳答案
可以在更改类型之前重设索引。
df= df.reset_index()
df['indexB'] = df['indexB'].astype(str)
关于python - 在MultiIndex上更改Pandas索引数据类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35164964/