重命名DataFrame的Index
引入包
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
创建df1
df1 = DataFrame(np.arange(9).reshape(3,3),index=['BJ','SH','GZ'],columns=['A','B','C'])
print(df1)
给index重新赋值
首先显示原来的index
print(df1.index)
改变index
df1.index = ['bj','sh','gz']
然后将index变成大写
如果只是 df1.index.map(str.upper),会将index变成大写,然而是产生新的并不会对原来的造成影响
df1.index = df1.index.map(str.upper)
print(df1)
还有一种方法df1.rename
print(df1.rename(index=str.lower))
还可以传入一个字典对特定的进行更改
df1.rename(index={'BJ':'beijing'},columns={'A':'a'})
print(df1)
最后回顾一下map函数
有一个list1里面的数字是整数型,想把它变成list2里面值类型变成字符型
列表解析的方法
list1 = [1,2,3,4]
print([str(x) for x in list1])
map的方法
list1 = [1,2,3,4]
print(map(str,list1))
print(list(map(str,list1)))
写一个自己的map函数,然后对df1的index后面加一个ABC
首先
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
df1 = DataFrame(np.arange(9).reshape(3,3),index=['BJ','SH','GZ'],columns=['A','B','C'])
print(df1)
df1
定义函数
def test_map(x):
return x + '-ABC'
然后对df1.index进行替换
这两条命令是等价的
df1.index = df1.index.map(test_map)
df1.rename(index = test_map)
看看结果