pandas-DataFrame修改行索引-index和列索引-columns

代码示例:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.arange(9).reshape(3, 3), index = ['TJ', 'BJ', 'SH'], columns=['q', 'w', 'e'])
print(df)
'''
打印:
    q  w  e
tj  0  1  2
bj  3  4  5
sh  6  7  8
'''
df.index = ['TianJin', 'BeiJin', 'ShangHai']
df.columns = ['a', 'b', 'c']
print(df)
'''
打印:
          a  b  c
TianJin   0  1  2
BeiJin    3  4  5
ShangHai  6  7  8
'''
df1 = df.rename(index={"TianJin":"tj","ShangHai":"sh"},columns={"a":"A"})
print(df1)

df2 = df1.rename(columns = lambda c:c+"_test")
print(df2)
'''
打印:
        A_test  b_test  c_test
tj           0       1       2
BeiJin       3       4       5
sh           6       7       8
'''
df3=pd.DataFrame({'X':range(5,10),'Y':range(5),'S':list("qwert"),'Z':['男','男','女','女','未知']})
print(df3)
'''
打印:
   X  Y  S   Z
0  5  0  q   男
1  6  1  w   男
2  7  2  e   女
3  8  3  r   女
4  9  4  t  未知
'''
df4 = df3.set_index('S',drop=False)    #列转化为行索引
print(df4)
'''
打印:
   X  Y  S   Z
S             
q  5  0  q   男
w  6  1  w   男
e  7  2  e   女
r  8  3  r   女
t  9  4  t  未知
'''
df4.index.name = None
print(df4)
'''
打印:
   X  Y  S   Z
q  5  0  q   男
w  6  1  w   男
e  7  2  e   女
r  8  3  r   女
t  9  4  t  未知
'''
print("--"*30)
df5 = df3.set_axis(labels=df3.iloc[1],axis=1,inplace=False)
'''
labels:新索引的值。
axis:要更新的轴。值0标识行,值1标识列。
inplace:是否返回新的实例。
'''
df5.columns.name = None
print(df5)
'''
打印:
   6  1  w   男
0  5  0  q   男
1  6  1  w   男
2  7  2  e   女
3  8  3  r   女
4  9  4  t  未知
'''

猜你喜欢

转载自blog.csdn.net/caoxinjian423/article/details/112576303
今日推荐