【数据分析可视化】重命名Dataframe的index
import numpy as np
import pandas as pd
from pandas import Series, DataFrame
创建测试的DataFrame
df1 = DataFrame(np.arange(9).reshape(3,3), index=['BJ','SH','GZ'], columns=['A','B','C'])
df1
|
A |
B |
C |
---|
BJ |
0 |
1 |
2 |
SH |
3 |
4 |
5 |
GZ |
6 |
7 |
8 |
df1.index
Index(['BJ', 'SH', 'GZ'], dtype='object')
# 修改行列索引-直接赋值Series[]新数据
df1.index = Series(['bj','sh','gz'])
df1
|
A |
B |
C |
---|
bj |
0 |
1 |
2 |
sh |
3 |
4 |
5 |
gz |
6 |
7 |
8 |
# 产生一个新index,并赋给当前index(map,函数控制)
df1.index = df1.index.map(str.upper)
df1
|
A |
B |
C |
---|
BJ |
0 |
1 |
2 |
SH |
3 |
4 |
5 |
GZ |
6 |
7 |
8 |
# 重命名(行列重新指定)
df1.rename(index=str.lower, columns=str.lower)
|
a |
b |
c |
---|
bj |
0 |
1 |
2 |
sh |
3 |
4 |
5 |
gz |
6 |
7 |
8 |
# 原值没有被修改
df1
|
A |
B |
C |
---|
BJ |
0 |
1 |
2 |
SH |
3 |
4 |
5 |
GZ |
6 |
7 |
8 |
# 重命名(传入字典)
df1.rename(index={'BJ':'beijing'},columns={'A':'a'})
|
a |
B |
C |
---|
beijing |
0 |
1 |
2 |
SH |
3 |
4 |
5 |
GZ |
6 |
7 |
8 |
回顾python 的Map函数
list1 = [1,2,3,4]
list2 = ['1','2','3','4']
# 列表解析(转换1->'1')
[str(x) for x in list1]
['1', '2', '3', '4']
# map转化方式
map(str, list1)
<map at 0x128edbf10>
list(map(str, list1))
['1', '2', '3', '4']
写一个自己的Map函数
df1
|
A |
B |
C |
---|
BJ |
0 |
1 |
2 |
SH |
3 |
4 |
5 |
GZ |
6 |
7 |
8 |
def test_map(x):
return x + '_ABC'
df1.index.map(test_map)
Index(['BJ_ABC', 'SH_ABC', 'GZ_ABC'], dtype='object')
df1.rename(index=test_map)
|
A |
B |
C |
---|
BJ_ABC |
0 |
1 |
2 |
SH_ABC |
3 |
4 |
5 |
GZ_ABC |
6 |
7 |
8 |
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~