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  未知
'''

 

Pandas 中,DataFrame 中的每一列都有一个列索引(column index),而每一都有一个索引(row index),这些索引用于标识 DataFrame 中的数据。 列索引是一个包含列标签(column label)的 Index 对象,可以使用 `df.columns` 属性来访问它,其中 df 是 DataFrame 对象。索引是一个包含标签(row label)的 Index 对象,可以使用 `df.index` 属性来访问它。 索引列索引都遵循以下规则: 1. 索引可以是任何 hashable 的对象,通常使用字符串或整数作为索引。如果没有显式指定索引,则使用默认的整数索引,从 0 开始递增。 2. 索引对象是可变的,能直接修改索引。如果需要修改索引,需要先创建一个新的索引对象。 3. 索引对象可以包含重复的标签,但是在某些操作中可能会出现问题。为了避免这种情况,可以使用 `duplicated()` `drop_duplicates()` 方法来检测删除重复的标签。 4. 索引对象可以使用切片(slice)来进筛选或切片操作,也可以使用布尔索引过滤。 5. 所有的 Pandas 函数方法都支持使用索引列索引数据选择操作。 6. 索引对象可以使用 `set_index()` 方法来更改 DataFrame索引,也可以使用 `reset_index()` 方法来重置索引列索引只能通过修改 `df.columns` 属性来更改。 总之,索引Pandas 中非常重要的概念,可以帮助我们对数据进快速的查询、切片操作。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值