0
点赞
收藏
分享

微信扫一扫

loc和iloc函数用法详解(Python)


目录

​​1 利用loc、iloc提取行数据​​

​​2 利用loc、iloc提取列数据​​

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

​​所有数据​​

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

​​6 iloc的详细用法​​

​​6.1 得到属性名、第一行数据、数据类型 ​​

​​6.2 得到属性名、第二行数据、数据类型 ​​

​​6.3 得到全部数据 ​​

​​6.4 得到第二行开始的数据​​

​​6.5 得到第3-n行,第4-m列的数据(假设共有n行,m列) ​​


1 利用loc、iloc提取行数据

loc函数:通过行索引 “Index” 中的具体值来取行数据(如取"Index"为"A"的行)

iloc函数:通过行号来取行数据(如取第二行的数据)

import numpy as np
import pandas as pd
#创建一个Dataframe
data=pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('ABCD'))

In[1]: data
Out[1]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15

#取索引为'a'的行
In[2]: data.loc['a']
Out[2]:
A 0
B 1
C 2
D 3

#取第一行数据,索引为'a'的行就是第一行,所以结果相同
In[3]: data.iloc[0]
Out[3]:
A 0
B 1
C 2
D 3

2 利用loc、iloc提取列数据

In[4]:data.loc[:,['A']] #取'A'列所有行,多取几列格式为 data.loc[:,['A','B']]
Out[4]:
A
a 0
b 4
c 8
d 12

In[5]:data.iloc[:,[0]] #取第0列所有行,多取几列格式为 data.iloc[:,[0,1]]
Out[5]:
A
a 0
b 4
c 8
d 12

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

In[6]:data.loc[['a','b'],['A','B']] #提取index为'a','b',列名为'A','B'中的数据
Out[6]:
A B
a 0 1
b 4 5

In[7]:data.iloc[[0,1],[0,1]] #提取第0、1行,第0、1列中的数据
Out[7]:
A B
a 0 1
b 4 5

 4 利用loc、iloc提取所有数据

In[8]:data.loc[:,:] #取A,B,C,D列的所有行
Out[8]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15

In[9]:data.iloc[:,:] #取第0,1,2,3列的所有行
Out[9]:
A B C D
a 0 1 2 3
b 4 5 6 7
c 8 9 10 11
d 12 13 14 15

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

In[10]: data.loc[data['A']==0] #提取data数据(筛选条件: A列中数字为0所在的行数据)
Out[10]:
A B C D
a 0 1 2 3

6 iloc的详细用法

6.1 得到属性名、第一行数据、数据类型 

print(data.iloc[0])

No 1

square_feet 150

loaction 4

built 10

price 6450

Name: 0, dtype: int64

6.2 得到属性名、第二行数据、数据类型 

print(data.iloc[1])

No 2

square_feet 200

loaction 5

built 9

price 7450

Name: 1, dtype: int64

6.3 得到全部数据 

#方法一

print(data.iloc[:])

#方法二

print(data.iloc[0:])

#方法三

print(data.iloc[:, :])

No square_feet loaction built price

0 1 150 4 10 6450

1 2 200 5 9 7450

2 3 250 3 7 8450

3 4 300 3 4 9450

4 5 350 4 3 11450

5 6 400 2 4 15450

6 7 400 1 2 18450

6.4 得到第二行开始的数据

print(data.iloc[1:])

No square_feet loaction built price

1 2 200 5 9 7450

2 3 250 3 7 8450

3 4 300 3 4 9450

4 5 350 4 3 11450

5 6 400 2 4 15450

6 7 400 1 2 18450

6.5 得到第3-n行,第4-m列的数据(假设共有n行,m列) 

print(data.iloc[2:, 3:])

built price

2 7 8450

3 4 9450

4 3 11450

5 4 15450

6 2 18450

举报

相关推荐

0 条评论