pandas笔记:index和columns操作

备忘录

自定义展示dataframe的行数和列数

// 展示所有列
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)

以上代码将三张表合并为一张,效果如下:

在这里插入图片描述

将多张dataframe添加进一张excel的不同sheet中

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')
  • 7
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值