python loc和iloc的区别

 在dataframe数据中,通过列名可以获取该列数据,例如df[‘a’]。通过loc和iloc可以定位到行,然后获取行的数据。

 两者区别在于:

定位依据 说明
loc index 必须根据index来匹配,没有该索引就无法提取数据
iloc 行号 从0开始,逐个+1

生成dataframe数据

import pandas as pd
import numpy as np
df = pd.DataFrame({'a':np.zeros(5),'b':[i for i in range(5)]},index = ['A','B','C','D','E'])
df
a b
A 0.0 0
B 0.0 1
C 0.0 2
D 0.0 3
E 0.0 4

通过索引名称定位:

df.loc['A']
a    0.0
b    0.0
Name: A, dtype: float64

通过行号定位,比如第一行数据

df.iloc[1]
a    0.0
b    1.0
Name: B, dtype: float64

提取最后一列

df.iloc[:,-1]
A    0
B    1
C    2
D    3
E    4
Name: b, dtype: int64

提取最后一列,行索引为B的值

df.iloc[:,-1]['B']
1
df1 = pd.DataFrame({'a':np.zeros(5),'b':[i+1 for i in range(5)]})
df1.columns = ['a1','a2']
df1
a1 a2
0 0.0 1
1 0.0 2
2 0.0 3
3 0.0 4
4 0.0 5

你可能感兴趣的:(Python基础和操作,python)