在数据分析中,选取需要的数据进行处理和分析是很重要的。在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],:]

如有错误,欢迎私信纠正,谢谢支持!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐