pandas loc 和iloc 源码和实例

loc函数:通过行索引 "Index" 中的具体值来取某列数据

import numpy as np
import pandas as pd
#取5*5矩阵 index行索引,columns列索引,arange 0-24 reshape矩阵形状
data=pd.DataFrame(np.arange(25).reshape(5,5),index=list('abcde'),columns=list('ABCDE'))
print(data)

print('.....................................')

out:
    A   B   C   D   E
a   0   1   2   3   4
b   5   6   7   8   9
c  10  11  12  13  14
d  15  16  17  18  19
e  20  21  22  23  24
.....................................
print(data.loc['a'])

out:
A    0
B    1
C    2
D    3
E    4
Name: a, dtype: int32

iloc函数:通过行号来取行数据

print('.....................................')

print(data.iloc[0:3])
.....................................  
out:
    A   B   C   D   E
a   0   1   2   3   4
b   5   6   7   8   9
c  10  11  12  13  14

loc、iloc提取列数据

print(data.loc[:,['A']]) #取'A'列所有行,多取几列格式为 data.loc[:,['A','B']
    A
a   0
b   5
c  10
d  15
e  20
print(data.iloc[:,[0]]) #取第0列所有行,多取几列格式为 data.iloc[:,[0,1]])
    A
a   0
b   5
c  10
d  15
e  20

利用loc、iloc提取指定行、指定列数据

print(data.loc[['a','b'],['A','B']])#提取index为'a','b',列名为'A','B'中的数据
   A  B
a  0  1
b  5  6
print(data.iloc[[0,1],[0,1]]) #提取第0、1行,第0、1列中的数据   
   A  B
a  0  1
b  5  6

利用loc、iloc提取所有数据

print(data.loc[:,:]) #取A,B,C,D列的所有行 
   
    A   B   C   D   E
a   0   1   2   3   4
b   5   6   7   8   9
c  10  11  12  13  14
d  15  16  17  18  19
e  20  21  22  23  24
print(data.iloc[:,:] )#取第0,1,2,3列的所有行

    A   B   C   D   E
a   0   1   2   3   4
b   5   6   7   8   9
c  10  11  12  13  14
d  15  16  17  18  19
e  20  21  22  23  24

利用loc函数,根据某个数据来提取数据所在的行

print(data.loc[data['A']==0])   
   A  B  C  D  E
a  0  1  2  3  4

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值