(25)数据分析-rename索引替换函数

内容:

·指定columns和index

·直接传入所有被修改元素

·多层级索引替换

from pandas import Series, DataFrame
import pandas as pd
import numpy as np
score = DataFrame(data={"name": ["gom", "hom", "jom", "kom", "lom"],
                        "score": np.random.randint(0, 100, size=5)})
print(score)
print()

运行结果

(25)数据分析-rename索引替换函数_第1张图片

【指定columns和index】

columns/index传入参数为字典。

先读取传入字典中的key,然后再找到对应的索引,字典key对应的value,就是被替换掉的索引。

score_copy1 = score.copy()
score_copy1 = score_copy1.rename(columns={"name": "姓名"}, index={3: "W"})
print(score_copy1)
print()

运行结果

(25)数据分析-rename索引替换函数_第2张图片

 【直接传入所有被修改元素】

        mapper传入参数为一个字典,需要搭配axis使用,默认axis=0,会自动匹配行索引,axis=1,会自动列索引。

"""直接传入所有被修改元素"""
# mapper传入参数为一个字典,需要搭配axis使用,默认axis=0,会自动匹配行索引,axis=1,会自动列索引
score_copy2 = score.copy()
score_copy3 = score.copy()
mapper = {3: "W", "name": "姓名"}
score_copy2 = score_copy2.rename(mapper=mapper, axis=0)
score_copy3 = score_copy3.rename(mapper=mapper, axis=1)
print(score_copy2)
print()
print(score_copy3)
print()

运行结果

(25)数据分析-rename索引替换函数_第3张图片

 【多层级索引替换】

level未传入参数时,会替换掉行/列所有目标索引,当level指定值时(外——>内:0——>n)

"""多层级索引替换"""
# level未传入参数时,会替换掉行/列所有目标索引,当level指定值时(外——>内:0——>n)
score_copy4 = score.copy()
score_copy5 = score.copy()
score_concat = pd.concat(objs=(score_copy4, score_copy5), axis=1, keys=["上学期", "下学期"])
print(score_concat)
mapper = {
    "上学期": "first class",
    "下学期": "second class",
    "score": "成绩"
}
score_concat = score_concat.rename(mapper=mapper, axis=1,level=0)
print(score_concat)
print()

运行结果

(25)数据分析-rename索引替换函数_第4张图片

 

你可能感兴趣的:(numpy,pandas,matplotlib,人工智能,python,numpy,pandas)