将Python交叉表导出到Excel时丢失行索引(球员名称)的问题
解决方法
问题根源在于你导出Excel时的参数设置:pd.crosstab生成的交叉表中,球员名称正是行索引,而你设置了index = False,这个参数会直接丢弃行索引,导致Excel里看不到关联的球员名。
修复方式非常简单,有两种可选方案:
方法一:保留行索引导出
把index=False改为index=True(也可以直接省略这个参数,因为to_excel默认index=True)。修改后的代码:threes.to_excel(r'C:\Users\three.xlsx', index=True, header=True)或者更简洁的写法:
threes.to_excel(r'C:\Users\three.xlsx', header=True)方法二:将行索引转为普通列并添加表头(适合需要更规范Excel格式的场景)
先把行索引转为普通列,给球员名列设置明确表头后再导出:# 将行索引转为普通列 threes.reset_index(inplace=True) # 给球员名列设置自定义表头(可根据需求调整名称) threes.rename(columns={'PLAYER_NAME': '球员姓名'}, inplace=True) # 此时用index=False导出,球员名已作为普通列存在 threes.to_excel(r'C:\Users\three.xlsx', index=False, header=True)
内容的提问来源于stack exchange,提问作者ACE
相关产品推荐
相关产品推荐

