loc 通过行、列的名称或标签来索引

iloc 通过行、列的索引位置来寻找数据

创建DataFrame表

import pandas as pd
import numpy as np
data = pd.DataFrame(np.arange(30).reshape((6,5)),columns=['A','B','C','D','E'])
data.to_csv('loc.csv')
print(data)

#输出
A   B   C   D   E
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19
4  20  21  22  23  24
5  25  26  27  28  29

索引第二行的值,行标签是1

data1 = data.loc[1]
# data1 = data.iloc[1]  等价于iloc
# data1 = data.iloc[1,:] 等价于取第一行,所有的列值
print(data1)

#输出
A    5
B    6
C    7
D    8
E    9

读取第二列的值

data1 = data.loc[:, 'B']
print(data1)

data1 = data.iloc[:, 1]
print(data1)

读取某行某列

data1 = data.loc[1,'B']
print(data1)

data1 = data.iloc[1,1] 
print(data1)

#输出
6

读取DataFrame的某个区域

data1 = data.loc[1:3,'B':'D']
print(data1)

data1 = data.iloc[1:4,1:4] #左开右闭
print(data1)

第B列中大于6的值

data1 = data.loc[data.B > 6 ]
print(data1)

data1 = data[data.B > 6 ]
print(data1)

#输出
B   C   D   E
2  11  12  13  14
3  16  17  18  19
4  21  22  23  24
5  26  27  28  29

切片操作

data1 = data.loc[data.B >6, ['B','C','D','E'] ]
print(data1)

#输出
B   C   D   E
2  11  12  13  14
3  16  17  18  19
4  21  22  23  24
5  26  27  28  29

取所有的行和列

data1 = data.loc[:, :]
print(data1)


data1 = data.iloc[:, :]
print(data1)


A   B   C   D   E
0   0   1   2   3   4
1   5   6   7   8   9
2  10  11  12  13  14
3  15  16  17  18  19
4  20  21  22  23  24
5  25  26  27  28  29

Categories: python

0 Comments

发表评论

Avatar placeholder

邮箱地址不会被公开。 必填项已用*标注