赞
踩
在数据分析中,选取需要的数据进行处理和分析是很重要的。在Excel表格中,通过鼠标点选或扩选可以轻松地选取数据,而在 pandas 数据中,需要通过索引来完成数据的选取工作。
DataFrame数据的选取更复杂些,因为它是二维数组,选取列和行都有具体的使用方法。接下来将重点介绍DataFrame数据的选取。
通过列索引标签或以属性的方式可以单独获取 DataFrame的列数据,返回的数据为 Series结构。通过两个中括号,可以获取多个列的数据。
city name sex year
0 天津 张三 male 24
1 深圳 李四 female 37
2 北京 王五 male 33
# 选取单列
# 方法一
df['name']
# 方法二
df.name
# 选取多列
df[['name','sex']]
注意:选取列不能使用切片,因为切片由于选取行数据
通过行索引标签或行索引位置(0到N-1)的切片形式可选取DataFrame的行数据。
city name sex year
0 天津 张三 male 24
1 深圳 李四 female 37
2 北京 王五 male 33
# 选取前两行
df[0:2]
显然,切片方法选取行有很大的局限性。如果想获取单独的几行,通过loc和iloc方法可以实现。loc方法是按行索引标签选取数据,如图3.34所示;iloc方法是按行索引位置选取数据。
# loc
df.loc['0']
df.loc[['0','2']]
# iloc
df.iloc[1]
df.iloc[[1,3]]
在数据分析中,有时可能只是对部分行和列进行操作,这就需要选取DataFrame数据中行和列的子集,而通过 ix方法就可以轻松地完成。ix 方法同时支持索引标签和索引位置来进行数据的选取。
# 通过 ix 方法选取行和列
df.ix[['0','2'],0,2]
其实,ix 方法除了可以选取部分行和列外,也可以选取单独的行或者列。
# 通过 ix 方法获取单独行和列
df.ix[:,['name','sex']]
df.ix[[1,3],:]
如有错误,欢迎私信纠正,谢谢支持!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。