Pandas之三选择数据

简介: 介绍在pandas中筛选数据的几种方法,快速定位某行、某列、具体元素的方法

前文介绍了如何查看dataframe数据,现在再来看看怎么样定位和修改pandas的具体数据。

官方推荐选择数据的方法为.at, .iat, .loc, .iloc,这些方法可以指定行列的信息进行数据筛选。具体功能说明如下:

  • at:根据标签(label)定位具体元素
  • iat:根据位置定位具体元素
  • loc:根据标签截取Series、dataframe或具体元素
  • iloc:根据位置截取Series、dataframe或具体元素

配合起来可以在dataframe里面使用多种方式选择数据:

  1. 按数据列选择数据
  2. 使用列表[]方式选择数据
  3. 按标签选择数据
  4. 按位置选择数据
  5. 按条件筛选数据
  6. 以新值更新选择的数据

下面我们依然使用前文生成的df对象来演示各种方法

df = pd.DataFrame(np.random.randn(6, 4), 
                  index=dates, 
                  columns=list("ABCD"))

df

按列选择数据

可以使用df.A方式选择A列数据,该方式等同于df["A"]
在这里插入图片描述

也可以通过df[["A","B"]]方式选择多个列
在这里插入图片描述

列表[]方式选择数据

该方法是截取dataframe中的某些行

  1. 选择所有数据

在这里插入图片描述

  1. 通过索引位置选择某几行,该方法按照左闭右开方式截取数据
    在这里插入图片描述
  2. 选择某范围内的几行数据,该方法按照左闭右闭方式截取数据,类似于SQL语法中的between .. and ..

在这里插入图片描述

注:官方并不推荐使用以上这种方式做数据选择,推荐选择数据的方法为.at, .iat, .loc, .iloc

按标签选择数据

  1. 可以根据index值选择某行数据

在这里插入图片描述

  1. 可以根据用index的范围选择多行数据

在这里插入图片描述

  1. 在选择数据时,可以配合列名进一步选择数据

在这里插入图片描述

  1. 通过index和列名定位到某个cell具体的值(前文的方式获取到依然dataframe,而此处获取到的是标量数据),同时支持.loc.at方式。要注意的是:

    • .at不支持类型隐式转换,而.loc是支持的
    • .at的速度比.loc要快

在这里插入图片描述

按位置选择数据

通过位置选择数据的时候,既可以选择一行一列、一行多列、多行一列、多行多列也可以选择具体元素,在label不明确的时候,可以通过位置进行选择。最典型的场景就是选择首行、尾行等。

  1. 选择第n行数据,只输入一个参数时,默认为行。

在这里插入图片描述

  1. 选择第n行,某几列数据,同时输入行列数据时,使用逗号,间隔。在范围选择时,其按照左闭右开方式截取数据。

在这里插入图片描述

  1. 选择某几行,某列数据

在这里插入图片描述

  1. 选择某几行,某几列数据

在这里插入图片描述

  1. 选择所有行,某些列数据

在这里插入图片描述

  1. 选择具体元素

在这里插入图片描述

按条件选择数据

在pandas中也可以使用条件进行数据过滤,就像使用where条件一样。

  1. 根据某列值进行筛选,如图选择B>1的数据

在这里插入图片描述

  1. 对整个dataframe进行筛选,选择值>0的数据

在这里插入图片描述

  1. 使用isin()做数据筛选,类似sql中的in

在这里插入图片描述

更新数据

选择完数据之后,可以使用长度相同的数据的进行更新

  1. 将2021-09-01的A列数据更新为0

在这里插入图片描述

  1. 将D列使用numpy.array替代,此列是以len(df)[7]来替代

在这里插入图片描述


欢迎关注微信公众号:数据研发技术,会分享各类数据研发相关的技术

目录
相关文章
|
4天前
|
数据采集 数据可视化 数据处理
Pandas高级数据处理:数据仪表板制作
《Pandas高级数据处理:数据仪表板制作》涵盖数据清洗、聚合、时间序列处理等技巧,解决常见错误如KeyError和内存溢出。通过多源数据整合、动态数据透视及可视化准备,结合性能优化与最佳实践,助你构建响应快速、数据精准的商业级数据仪表板。适合希望提升数据分析能力的开发者。
57 31
|
5天前
|
数据采集 并行计算 数据可视化
Pandas高级数据处理:数据报告生成实战指南
数据报告生成面临数据质量、计算性能、呈现形式和自动化等核心挑战。常见问题包括缺失值导致统计失真、内存溢出及可视化困难。解决方案涵盖数据清洗、分块处理、安全绘图模板等。通过模块化设计、异常处理机制和性能优化策略,如使用`category`类型、并行计算等,可大幅提升效率。最佳实践建议建立数据质量检查清单、版本控制和自动化测试框架,确保系统具备自适应能力,提升报告生成效率300%以上。
38 12
|
11天前
|
监控 物联网 数据处理
Pandas高级数据处理:数据流式计算
本文介绍了如何使用 Pandas 进行流式数据处理。流式计算能够实时处理不断流入的数据,适用于金融交易、物联网监控等场景。Pandas 虽然主要用于批处理,但通过分块读取文件、增量更新 DataFrame 和使用生成器等方式,也能实现简单的流式计算。文章还详细讨论了内存溢出、数据类型不一致、数据丢失或重复及性能瓶颈等常见问题的解决方案,并建议在处理大规模数据时使用专门的流式计算框架。
138 100
Pandas高级数据处理:数据流式计算
|
28天前
|
机器学习/深度学习 搜索推荐 数据挖掘
Pandas数据应用:广告效果评估
在数字化营销中,广告效果评估至关重要。Pandas作为Python的强大数据分析库,在处理广告数据时表现出色。本文介绍如何使用Pandas进行广告效果评估,涵盖数据读取、预览、缺失值处理、数据类型转换及常见报错解决方法,并通过代码案例详细解释。掌握这些技能,可为深入分析广告效果打下坚实基础。
41 17
|
29天前
|
数据采集 供应链 数据可视化
Pandas数据应用:供应链优化
在当今全球化的商业环境中,供应链管理日益复杂。Pandas作为Python的强大数据分析库,能有效处理库存、物流和生产计划中的大量数据。本文介绍如何用Pandas优化供应链,涵盖数据导入、清洗、类型转换、分析与可视化,并探讨常见问题及解决方案,帮助读者在供应链项目中更加得心应手。
50 21
|
30天前
|
数据采集 存储 供应链
Pandas数据应用:库存管理
本文介绍Pandas在库存管理中的应用,涵盖数据读取、清洗、查询及常见报错的解决方法。通过具体代码示例,讲解如何处理多样数据来源、格式不一致、缺失值和重复数据等问题,并解决KeyError、ValueError等常见错误,帮助提高库存管理效率和准确性。
106 72
|
1月前
|
机器学习/深度学习 数据采集 供应链
Pandas数据应用:销售预测
本文介绍如何使用Pandas进行销售预测。首先,通过获取、清洗和可视化历史销售数据,确保数据质量并理解其特征。接着,进行特征工程,构建线性回归等模型进行预测,并评估模型性能。最后,针对常见问题如数据类型不匹配、时间格式错误、内存不足和模型过拟合提供解决方案。掌握这些步骤,可有效提升销售预测的准确性,助力企业优化库存管理和提高客户满意度。
55 17
|
1月前
|
机器学习/深度学习 存储 算法
Pandas数据应用:客户流失预测
本文介绍如何使用Pandas进行客户流失预测,涵盖数据加载、预处理、特征工程和模型训练。通过解决常见问题(如文件路径错误、编码问题、列名不一致等),确保数据分析顺利进行。特征工程中创建新特征并转换数据类型,为模型训练做准备。最后,划分训练集与测试集,选择合适的机器学习算法构建模型,并讨论数据不平衡等问题的解决方案。掌握这些技巧有助于有效应对实际工作中的复杂情况。
142 95
|
1月前
|
数据采集 存储 算法
Pandas数据应用:市场篮子分析
市场篮子分析是一种用于发现商品间关联关系的数据挖掘技术,广泛应用于零售业。Pandas作为强大的数据分析库,在此领域具有显著优势。本文介绍了市场篮子分析的基础概念,如事务、项集、支持度、置信度和提升度,并探讨了数据预处理、算法选择、参数设置及结果解释中的常见问题与解决方案,帮助用户更好地进行市场篮子分析,为企业决策提供支持。
70 29
|
1月前
|
机器学习/深度学习 BI 定位技术
Pandas数据应用:用户细分
用户细分是数据分析和商业智能中的关键步骤,通过将用户群体划分为不同子集,企业可以更精准地了解用户需求并制定营销策略。Pandas 是 Python 中常用的数据处理库,支持高效的数据操作。使用 Pandas 进行用户细分包括数据准备、清洗、特征工程、细分和结果分析等步骤。常见问题如数据类型不一致、内存不足等可通过相应方法解决。Pandas 简化了用户细分流程,帮助获取有价值的洞察。
59 24