Pandas之三选择数据
2023-02-26 10:20:03 时间
前文介绍了如何查看dataframe数据,现在再来看看怎么样定位和修改pandas的具体数据。
官方推荐选择数据的方法为.at, .iat, .loc, .iloc
,这些方法可以指定行列的信息进行数据筛选。具体功能说明如下:
(福利推荐:阿里云、腾讯云、华为云服务器最新限时优惠活动,云服务器1核2G仅88元/年、2核4G仅698元/3年,点击这里立即抢购>>>)
- at:根据标签(label)定位具体元素
- iat:根据位置定位具体元素
- loc:根据标签截取Series、dataframe或具体元素
- iloc:根据位置截取Series、dataframe或具体元素
配合起来可以在dataframe里面使用多种方式选择数据:
- 按数据列选择数据
- 使用列表
[]
方式选择数据 - 按标签选择数据
- 按位置选择数据
- 按条件筛选数据
- 以新值更新选择的数据
下面我们依然使用前文生成的df对象来演示各种方法
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))
按列选择数据
可以使用df.A
方式选择A列数据,该方式等同于df["A"]
也可以通过df[["A","B"]]
方式选择多个列
列表[]
方式选择数据
该方法是截取dataframe中的某些行
- 选择所有数据
- 通过索引位置选择某几行,该方法按照左闭右开方式截取数据
- 选择某范围内的几行数据,该方法按照左闭右闭方式截取数据,类似于SQL语法中的
between .. and ..
注:官方并不推荐使用以上这种方式做数据选择,推荐选择数据的方法为.at, .iat, .loc, .iloc
按标签选择数据
- 可以根据index值选择某行数据
- 可以根据用index的范围选择多行数据
- 在选择数据时,可以配合列名进一步选择数据
-
通过index和列名定位到某个cell具体的值(前文的方式获取到依然dataframe,而此处获取到的是标量数据),同时支持
.loc
和.at
方式。要注意的是:.at
不支持类型隐式转换,而.loc
是支持的.at
的速度比.loc
要快
按位置选择数据
通过位置选择数据的时候,既可以选择一行一列、一行多列、多行一列、多行多列也可以选择具体元素,在label不明确的时候,可以通过位置进行选择。最典型的场景就是选择首行、尾行等。
- 选择第n行数据,只输入一个参数时,默认为行。
- 选择第n行,某几列数据,同时输入行列数据时,使用逗号
,
间隔。在范围选择时,其按照左闭右开方式截取数据。
- 选择某几行,某列数据
- 选择某几行,某几列数据
- 选择所有行,某些列数据
- 选择具体元素
按条件选择数据
在pandas中也可以使用条件进行数据过滤,就像使用where条件一样。
- 根据某列值进行筛选,如图选择B>1的数据
- 对整个dataframe进行筛选,选择值>0的数据
- 使用isin()做数据筛选,类似sql中的in
更新数据
选择完数据之后,可以使用长度相同的数据的进行更新
- 将2021-09-01的A列数据更新为0
- 将D列使用numpy.array替代,此列是以
len(df)
个[7]
来替代
欢迎关注微信公众号:数据研发技术,会分享各类数据研发相关的技术
你还在原价购买阿里云、腾讯云、华为云、天翼云产品?那就亏大啦!现在申请成为四大品牌云厂商VIP用户,可以3折优惠价购买云服务器等云产品,并且可享四大云服务商产品终身VIP优惠价,还等什么?赶紧点击下面对应链接免费申请VIP客户吧:
相关文章
- 齐活了,Grafana 发布大规模持续性能分析开源数据库 - Phlare
- CNVD-2022-42853:禅道V16.5SQL注入漏洞
- Mysql主从配置参数说明
- Mysql主备问题记录
- C#NPOI操作Excel,实现Excel数据导入导出(支持多个sheet)
- C#通过OLEDB将DataTable写入Excel文件中
- sqlserver数据库批量新增修改类
- SQL处理数据库表特殊字符
- 使用SQL语句查询表及表字段类型说明
- 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序。
- 使用IndexedDB缓存给WebGL三维程序加速
- 可视化编辑器之数据源配置
- MySQL 5.7.30 的安装/升级(所有可能的坑都在这里)
- MySQL 性能优化浅析及线上案例
- MongoDB - 分片简介
- MongoDB - 副本集简介
- MongoDB - 模式设计
- MongoDB - 数据模型的设计模式
- MongoDB - 事务支持
- MongoDB - 聚合查询