如何移除DataFrame设置新表头后左上角的索引标识0?
解决DataFrame左上角多余0的问题
那个左上角的0其实是**列索引的名称(df.columns.name)**在搞鬼!原因是你用来设置表头的new_header应该是一个带有name属性为0的Series(或是从带索引的DataFrame里提取的列),当直接赋值给df.columns时,列索引继承了这个名称,导致显示时出现这个多余的0。
这里有两种简单的解决方法:
方法1:直接清除列索引的名称
直接把列索引的名称设为None就能搞定:
df.columns.name = None
方法2:设置表头时只取纯名称值
如果new_header是一个Series,设置表头时直接取它的values属性,避免继承原有的name属性:
df.columns = new_header.values
要是new_header是一个DataFrame(比如你是从另一个表格里提取的表头),那就取对应列的数值:
df.columns = new_header.iloc[:, 0].values
执行任意一种方法后,你的DataFrame就会变成你想要的样子,左上角的0就消失啦~
内容的提问来源于stack exchange,提问作者Stacey
相关产品推荐
相关产品推荐

