import pandas as pd
import numpy as np
from pandas import Series, DataFrame
df1 = DataFrame(np.arange(9).reshape(3,3), index=['BJ','SH','GZ'], columns=['A','B','C'])
df1
Out[5]:
A B C
BJ 0 1 2
SH 3 4 5
GZ 6 7 8
df1.index
Out[6]: Index(['BJ', 'SH', 'GZ'], dtype='object')
# 方式一,直接用Series修改
df1.index
Out[6]: Index(['BJ', 'SH', 'GZ'], dtype='object')
# 方式二,使用map进行修改
df1.index.map(str.upper)
Out[10]: Index(['BJ', 'SH', 'GZ'], dtype='object')
df1.index = df1.index.map(str.upper)
df1
Out[12]:
A B C
BJ 0 1 2
SH 3 4 5
GZ 6 7 8
# 方式三,使用rename进行修改
df1.rename(index=str.lower)
Out[13]:
A B C
bj 0 1 2
sh 3 4 5
gz 6 7 8
df1
Out[14]:
A B C
BJ 0 1 2
SH 3 4 5
GZ 6 7 8
df1 = df1.rename(index=str.lower, columns=str.lower)
df1
Out[18]:
a b c
bj 0 1 2
sh 3 4 5
gz 6 7 8
# 同时修改行和列
df1 = df1.rename(index=str.lower, columns=str.lower)
df1
Out[18]:
a b c
bj 0 1 2
sh 3 4 5
gz 6 7 8
df1.rename(index={'bj':'beijing'}, columns={'a':'A'})
Out[19]:
A b c
beijing 0 1 2
sh 3 4 5
gz 6 7 8
# 谈一谈map, 从list1到list2的方式
list1 = [1,2,3,4]
list2 = ['1','2','3','4']
# 列表解析
[str(x) for x in list1]
Out[22]: ['1', '2', '3', '4']
# 传入自定义函数
def test_map(x):
return x+'_ABC'
df1.index.map(test_map)
Out[29]: Index(['bj_ABC', 'sh_ABC', 'gz_ABC'], dtype='object')
df1.rename(index=test_map)
Out[30]:
a b c
bj_ABC 0 1 2
sh_ABC 3 4 5
gz_ABC 6 7 8
Pandas玩转数据(三) -- DataFrame重命名
猜你喜欢
转载自blog.csdn.net/weixin_39778570/article/details/81106642
今日推荐
周排行