// 展示所有列
pd.set_option('display.max_columns', None)
// 展示所有行
pd.set_option('display.max_rows', None)
//自定义行数列数
pd.set_option('display.max_rows', 1000) # 最多展示1000行
pd.set_option('display.max_columns', 10) # 最多展示10列
df.index.name = "index_new"
两种方式:
df.columns = ['col1','col2','col3','col4']
df.rename(columns={'a':'A'}, inplace=Ture)#在原数据上修改
df.set_index('col1')
df.reset_index(inplace = True)#在原数据上修改,原索引变为列
df.reset_index(drop = True,inplace = True)#在原数据上修改,删除原索引
两种方式:
del df['col1']
df.drop(['col1','col2'],axis = 1)
df.drop(columns = ['col1','col2'])
删除复合表头的指定一列:
df.drop(('第一级表头','第二级表头'),axis = 1)
场景:多张格式相同的表,只是日期或对象不同,需要对比来看
columns1 = ['0-9','9-10','10-11','11-12','12-13','13-14','14-15','15-16','16-17','17-24']#每张表中的一级表头列名
keys1 = ['申请数', '审批数','送达数']#生成新表的二级表头的名称,这里代表数据的业务含义
keys2 = ['0-9:00','9:00-10:00','10:00-11:00','11:00-12:00','12:00-13:00','13:00-14:00','14:00-15:00','15:00-16:00','16:00-17:00','17:00-24:00']#生成新表的一级表头名称
df1 = pd.concat([
pd.concat([table1[column], table2[column],table3[column]],keys=keys1, axis=1)for column in columns1], axis=1, keys=keys2).fillna(0)
以上代码将三张表合并为一张,效果如下:
with pd.ExcelWriter(r'C:\Users\数据\Desktop\data\result.xlsx') as writer:
df1.to_excel(writer, sheet_name='df1')
df2.to_excel(writer, sheet_name='df2')