pandas中选取行,列数据有三种索引方法:.
- loc
- .iloc
- []
文章目录
- 一.[ ]的使用
- 二.loc[ ]的使用
- 二.iloc[ ]的使用
注意:.ix的用法在0.20.0中已经不建议使用了!
首先,创建一个DataFrame:
import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randn(8, 4),index=list("abcdefgh"),columns=['A','B','C','D'])
print(data))
输出为:
一.[ ]的使用
使用[ ]选取数据只能传入一个参数,就是列标签名,所以这种方法只能选取列数据.
- 1.1.一个列标签作为参数,选取某一列
print(data[‘A’])
a -0.314230
b 1.673732
c -0.404464
d -0.245632
e -3.341850
f -0.872869
g -0.039912
h 1.830474
Name: A, dtype: float64
- 1.2.多个列标签组成列表作为参数,选取多列
print(data[[‘A’,‘B’]])
- 1.3.筛选符合条件的行
二.loc[ ]的使用
.loc主要是基于标签(label)的,包括行标签(index)和列标签(columns),即行名称和列名称,可以使用df.loc[index_name,col_name],选择指定位置的数据,其它的用法有:
- 2.1.使用单个标签,如果.loc[]中只有单个标签,那么选择的是某一行。
- 2.2.使用多个标签组成的列表,选择多行 。
- 2.3.标签的切片对象:与通常的python切片不同,在最终选择的数据中包含切片的start和stop
- 2.4.传进2个参数,同时选择行和列
- 2.5.选择满足某个条件的行
二.iloc[ ]的使用
iloc是基于位置的索引,利用元素在各个轴上的索引序号进行选择,序号超出范围会产生IndexError,切片时允许序号超过范围,其功能和loc[ ]是相同的,只不过将参数由行列标签的值变为行列的数字索引值。
- 2.1.使用单个标签,如果.loc[]中只有单个标签,那么选择的是某一行。
- 2.2.使用多个标签组成的列表,选择多行 。
- 2.3.标签的切片对象:与通常的python切片不同,在最终选择的数据中包含切片的start和stop
- 2.4.传进2个参数,同时选择行和列
- 2.5.选择满足某个条件的行