【数据分析可视化】重命名Dataframe的index

2020-07-07 18:11:31 浏览数 (2)

代码语言:javascript复制
import numpy as np
import pandas as pd
from pandas import Series, DataFrame

创建测试的DataFrame

代码语言:javascript复制
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

代码语言:javascript复制
df1.index
代码语言:javascript复制
Index(['BJ', 'SH', 'GZ'], dtype='object')
代码语言:javascript复制
# 修改行列索引-直接赋值Series[]新数据
df1.index = Series(['bj','sh','gz'])
df1

A

B

C

bj

0

1

2

sh

3

4

5

gz

6

7

8

代码语言:javascript复制
# 产生一个新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

代码语言:javascript复制
# 重命名(行列重新指定)
df1.rename(index=str.lower, columns=str.lower)

a

b

c

bj

0

1

2

sh

3

4

5

gz

6

7

8

代码语言:javascript复制
# 原值没有被修改
df1

A

B

C

BJ

0

1

2

SH

3

4

5

GZ

6

7

8

代码语言:javascript复制
# 重命名(传入字典)
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函数

代码语言:javascript复制
list1 = [1,2,3,4]
list2 = ['1','2','3','4']
代码语言:javascript复制
# 列表解析(转换1->'1')
[str(x) for x in list1]
代码语言:javascript复制
['1', '2', '3', '4']
代码语言:javascript复制
# map转化方式
map(str, list1)
代码语言:javascript复制
<map at 0x128edbf10>
代码语言:javascript复制
list(map(str, list1))
代码语言:javascript复制
['1', '2', '3', '4']

写一个自己的Map函数

代码语言:javascript复制
df1

A

B

C

BJ

0

1

2

SH

3

4

5

GZ

6

7

8

代码语言:javascript复制
def test_map(x):
    return x   '_ABC'
代码语言:javascript复制
df1.index.map(test_map)
代码语言:javascript复制
Index(['BJ_ABC', 'SH_ABC', 'GZ_ABC'], dtype='object')
代码语言:javascript复制
df1.rename(index=test_map)

A

B

C

BJ_ABC

0

1

2

SH_ABC

3

4

5

GZ_ABC

6

7

8

0 人点赞