【Python_033】reset_index 用法 | 清洗mapping表

本篇介绍dataframe索引用法

  • 索引基本操作
df.columns = [list1] #列索引 aka 字段名
df.index = [list2] #行索引 aka 每行记录索引

#设置索引
df.set_index('col_name')

#重命名索引
df.rename(columns = {'old_name':'new_name'}) #或者是index = dict1
  • 重置索引
#重置索引就是把索引重新作为列使用
df.reset_index(level=None, drop=False, inplace=False)
#level 指定要把层次化级别第几级转化为列,默认为全部索引
#drop 指定是否将原索引删掉,默认为False(不删除)
#inplace 是否覆盖df, 默认为False
实用实例

源数据
在这里插入图片描述
在清洗数据过程中 常碰到这样的mapping表。
最粗暴的方法当然是先在excel中 先拆成一维表的样子
但当行数比较多的时候,brutal force总是显得吃力又不讨好的

##loop中其实可以用一行代码搞定,但为了看得更清楚,我拆成了两步
col = ['KW','Category']
df2 = df.drop(col,axis=1)
for col in col:
    temp = df[col].str.split('|',expand=True).stack().reset_index(level=1, drop=True).rename(col)
    print(temp)
    df2 = df2.join(test)

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值