Pandas数据的选取

使用python的工具包pandas,可以方便的处理数据。但是发现一个问题:有时候总是不知道怎么选取数据。因此在这里记录一下。由于在实际使用中,主要用到的就是DataFrame的结构,因此,这里主要说DataFrame数据结构中,数据的选取方法。

假设我们已经有了DataFrame数据,呈现如下结构:

indexpopstateyear
01.5Ohio2000
11.7Ohio2001
23.6Ohio2002
32.4Nevada2001
data = {'state':['Ohio', 'Ohio', 'Ohio', 'Neveda'],'year':[2000, 2001, 2002, 2001],'pop':[1.5,1.7, 3.6, 2.4]}
frame = pd.DataFrame(data, index=['2','3','4','5'])
print frame

一)行的选择
首先我们说针对行的选取,分为:单行选取,切片选取,选择选取,这些选取都可以分为使用索引index来选取,以及通过第n行的行值来选取。而这些选取都可以使用ix这个功能来实现。
1、选其中一行:
1)使用index: frame.ix[‘3’]
2) 使用行值:frame.ix[1]

2、切片选取:
1)使用index:frame.ix[‘3’:’5’]
2)使用行值:frame.ix[0:2]

3、选择选取:
1)使用index:frame.ix[[‘3’,’5’]]
2)使用行值:frame.ix[[0,2]]

二)列的选择
列的选取也可以对应行的选取的方式,分为:单行选取,切片选取,选择选取。列的选择直接使用frame这个DataFrame来选择就好,但是有些方式是不支持的。
1、选择其中一列
1)使用index:frame[‘pop’]
2)使用列值:frame[[1]]

2、切片选取
1)使用index:对于DataFrame来说,对应行的index选取方式,应该是frame[‘pop’:’year’]。但是实际上这个是不支持的,不知道为什么。后面讲另外的列切片选取方法。
2)使用列值:对应行的值选取方法,应该是frame[0:2],但实际上,这个选择的仍然是行~。这个点需要注意。

3、选择选取
1)使用index:frame[[‘pop’,’year’]]
2)使用列值:frame[[0,2]]

三)行列的综合选择
行列的综合选择需要使用ix的方法,即frame.ix[:, :]
即逗号前后的行、列都可以使用一、二本来自己就支持的方法,来选择所需要的值。
除了原先的功能之外,使用该方法,列可以使用切片的方式来选择数据:
1)使用index来选择列:
frame.ix[:, ‘pop’:’year’]

2)使用列值来选择:
frame.ix[:,0:2]

另外还需要注意的是:
使用index切片来选取时,是头尾都包含的,即使用index:frame.ix[‘3’:’5’]中’3’到’5’的行都会包含;但是使用行值,frame.ix[0:2],则只会包含0,1两行。
列是同样的道理。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值