python dataframe 取值_给妹子讲python-S02E12DataFrame数据选取方法

本篇介绍了Python DataFrame的数据选取方法,包括字典形式访问列、列扩充、使用values属性获取ndarray、loc、iloc、ix索引器的操作、条件过滤及数据修改等。通过实例展示了DataFrame如何像字典和二维数组一样进行操作,并比较了各种索引器的使用场景。
摘要由CSDN通过智能技术生成

微信公众号: python数据科学家

【要点抢先看】

1.对列标签进行字典形式的取值访问,获取Series对象

2.使用字典语法进行列的扩充

3.使用values属性,获取ndarray二维数组类型,可以使用相同操作方法

4.loc、iloc、ix三种索引器,支持行和列的索引、分片灵活操作

5.DataFrame的条件过滤操作

6.DataFrame具体值的修改

这一集,我们来说DataFrame对象的数据选取方法。同样,我们使用类比法进行学习,前面我们提到过,DataFrame可以看作是若干Series对象构成的字典,也可以看做是一个二维数组。

我们先类比字典,讨论如何获取DataFrame的指定数据,我们这一集例子中操作的就是下面这个DataFrame数据对象。

import pandas as pd

area = pd.Series({'California':423967,'Texas':695662,

'New York':141297,'Floriade':170312,

'Illinois':149995})

pop = pd.Series({'California':38332521,'Texas':26448193,

'New York':19651127,'Floriade':19552860,

'Illinois':12882135})

data = pd.DataFrame({'area':area, 'pop':pop})

print(data)

area pop

California 423967 38332521

Floriade 170312 19552860

Illinois 149995 12882135

New York 141297 19651127

Texas 695662 26448193

由于DataFrame本质上反应的是列标签与Series的映射关系,所以对列名进行字典形式的取值,可以获取相应的Series列数据:

data = pd.DataFrame({'area':area, 'pop':pop})

print(data['area'])

California 423967

Floriade 170312

Illinois 149995

New York 141297

Texas 695662

Name: area, dtype: int64

和这种字典形式访问效果相同的是属性形式的访问方法,即data.area得到的结果和本例相同,不过属性访问方式的限制要多一些,例如如果列标签不是纯字符串或者恰巧与一些方法名重名,则不能使用该方法。

当然,我们同样可以使用字典形式的语法进行列扩充,可以给一个新列赋值一个标量,也可以对其赋值一个向量数组:

data = pd.DataFrame({'area':area, 'pop':pop})

data['a'] = [1,2,3,4,5]

data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值