首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

筛选功能(Pandas读书笔记9)

今天和大家分享如果使用Pandas实现单、多条件筛选、模糊筛选。 还是老套路,我们需要先读取一组数据作为测试文件。...这里两个数字都是闭合,案例[7:11]则选取是第8行至第12行(pandas从0开始编号) 二、提取任意 1、按照列名提取单列 ? 2、按照列名提取多 ?...发现传统文本转数字不管用哇!为虾米呢?这个文本转数字只适用于数字以文本形式存储数据,不适用于本身只能用文本形式存储数据。(略拗口,可以自己想想~) 由于原始数据带了一个%。...费了九年二虎之力,终于分别实现了不同判断条件。 如何把两混合在一起呢?如何以且关系进行组合判断呢? ?...=0, end=None)>=0 将名称那一使用字符串find函数,如果find返回大于0,证明就是含有金字如果没有金字,返回是-1,所以通过该方法可以判断哪行数据含有金字。

5.9K61

python数据科学系列:pandas入门详细教程

切片形式访问时按行进行查询,又区分数字切片和标签切片两种情况:当输入数字索引切片时,类似于普通列表切片;当输入标签切片时,执行范围查询(即无需切片首末存在于标签),包含两端标签结果,无匹配行时返回为空...isin/notin,条件范围查询,即根据特定是否存在于指定列表返回相应结果 where,仍然是执行条件查询,但会返回全部结果,只是将不满足匹配条件结果赋值为NaN或其他指定,可用于筛选或屏蔽...时间类型向量化操作,字符串一样,在pandas另一个得到"优待"数据类型是时间类型,正如字符串列可用str属性调用字符串接口一样,时间类型可用dt属性调用相应接口,这在处理时间类型时会十分有效。...unique、nunique,也是仅适用于series对象,统计唯一信息,前者返回唯一结果列表,后者返回唯一个数(number of unique) ?...另外,均支持两种形式绘图接口: plot属性+相应绘图接口,plot.bar()用于绘制条形图 plot()方法并通过传入kind参数选择相应绘图类型,plot(kind='bar') ?

13.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

Python科学计算之Pandas

把这些列名变短会让你工作更加轻松: ? 有一点需要注意是,在这里我故意让所有标签都没有空格和横线。后面你将会看到,如果我们这样命名变量,Pandas会将它们存成什么类型。...如果你读过这一系列Numpy那一篇帖子,你可能会记得一项技术叫做‘boolean masking’,即我们可以在数组上运行一个条件语句来获得对应布尔数组。...好,我们也可以在Pandas做同样事。 ? 上述代码将范围一个布尔dataframe,其中,如果9、10月降雨量低于1000毫米,则对应布尔为‘True’,反之,则为’False’。...这将会给’water_year’一个新索引。注意到列名虽然只有一个元素,却实际上需要包含于一个列表如果你想要多个索引,你可以简单地在列表增加另一个列名。 ?...操作一个数据集结构 另一件经常会对dataframe所做操作是为了让它们呈现出一种更便于使用形式而对它们进行重构。 首先,groupby: ? grouby所做是将你所选择组成一组。

2.9K00

Python 数据处理:Pandas使用

另一种常见数据形式是嵌套字典,如果嵌套字典传给DataFrame, Pandas 就会被解释为:外层字典键作为,内层键则作为行索引: import pandas as pd pop1 = {'...虽然许多 Pandas 函数(reindex)都要求标签唯一,但这并不是强制性。...它们大部分都属于约简和汇总统计,用于从Series中提取单个sum或mean)或从DataFrame行或中提取一个Series。...,它可以得到Series唯一数组: uniques = obj.unique() print(uniques) 返回唯一是未排序如果需要的话,可以对结果再次进行排序(uniques.sort...计算Series唯一数组,按发现顺序返回 value_counts 返回一个Series,其索引为唯一,其为频率,按计数值降序排列 有时,你可能希望得到DataFrame多个相关一张柱状图

22.7K10

30 个小例子帮你快速掌握Pandas

我们删除了4,因此列数从14减少到10。 2.读取时选择特定 我们只打算读取csv文件某些。读取时,列表将传递给usecols参数。如果您事先知道列名,则比以后删除更好。...尽管我们对loc和iloc使用了不同列表形式,但行没有改变。原因是我们使用数字索引标签。因此,行标签和索引都相同。 缺失数量已更改: ? 7.填充缺失 fillna函数用于填充缺失。...8.删除缺失 处理缺失另一种方法是删除它们。“已退出”仍缺少。以下代码将删除缺少任何行。...Balance hist 11.用isin描述条件 条件可能有几个。在这种情况下,最好使用isin方法,而不是单独写入。 我们只传递期望列表。...method参数指定如何处理具有相同行。first表示根据它们在数组(即顺序对其进行排名。 21.唯一数量 使用分类变量时,它很方便。我们可能需要检查唯一类别的数量。

10.6K10

Pandas图鉴(三):DataFrames

DataFrame进行算术运算,只要它们行是有意义标签,如下图所示: 索引DataFrames 普通方括号根本不足以满足所有的索引需求。...当使用几个条件时,它们必须用括号表示,如下图所示: 当你期望返回一个单一时,你需要特别注意。 因为有可能有几条符合条件记录,所以loc返回一个Series。...1:1关系joins 这时,关于同一组对象信息被存储在几个不同DataFrame,而你想把它合并到一个DataFrame如果你想合并不在索引,可以使用merge。...注意:要小心,如果第二个表有重复索引,你会在结果中出现重复索引,即使左表索引是唯一 有时,连接DataFrame有相同名称。...一范围内用户函数唯一可以访问是索引,这在某些情况下是很方便。例如,那一天,香蕉以50%折扣出售,这可以从下面看到: 为了从自定义函数访问group by,它被事先包含在索引

35120

Pandas 秘籍:1~5

关系数据库一种非常常见做法是将主键(如果存在)作为第一,并在其后直接放置任何外键。 主键唯一地标识当前表行。 外键唯一地标识其他表行。...如果在创建数据帧过程未指定索引(本秘籍所述),pandas 会将索引默认为RangeIndex。RangeIndex与内置范围函数非常相似。 它按需产生,并且仅存储创建索引所需最少信息量。...为了确保标签正确,我们在步骤 6 从索引随机选择四个标签,并将它们存储列表,然后再将它们选择为序列。 使用.loc索引器选择始终包含最后一个元素,步骤 7 所示。...这些布尔通常存储在序列或 NumPy ndarray,通常是通过将布尔条件应用于数据帧一个或多个来创建。...缺少是float数据类型,因此任何以整数列现在都是浮点数。 如果数据类型不同,即使相同,equals方法也会返回False。

37.2K10

2020年入门数据分析选择Python还是SQL?七个常用操作对比!

,我们可以使用SELECT语句从表选择数据,结果被存储在一个结果表,语法如下: SELECT column_name,column_name FROM table_name; 如果不想显示全部记录...而在pandas,我们可以通过将列名列表传递给DataFrame来完成选择 ?...二、查找 单条件查找 在SQL,WHERE子句用于提取那些满足指定条件记录,语法如下 SELECT column_name,column_name FROM table_name WHERE column_name...而在pandas,按照条件进行查找则可以有多种形式,比如可以将含有True/FalseSeries对象传递给DataFrame,并返回所有带有True行 ?...在pandas也有类似的操作 ? 查找空pandas检查空是使用notna()和isna()方法完成

3.5K31

地理空间数据时间序列分析

较亮像素具有较高降雨。在下一节,我将提取这些并将它们转换为pandas数据框。 从光栅文件中提取数据 现在进入关键步骤——提取每个366个光栅图像像素。...这个过程很简单:我们将循环遍历每个图像,读取像素并将它们存储在一个列表。 我们将另外在另一个列表中跟踪日期信息。我们从哪里获取日期信息?...如果你仔细查看文件名,你会注意到它们是按照每个相应日期命名。...因此,我们刚刚创建了两个列表,一个存储文件名日期,另一个存储降雨数据。...), columns = ['date', 'rainfall_mm']) df.head() 现在我们有了一个pandas数据框,但请注意,“日期”是字符串,pandas尚不知道它代表日期

11610

Pandas内存优化和数据加速读取

内存优化 一个现象是,在使用pandas进行数据处理时候,加载大数据或占用很大内存和时间,甚至有时候发现文件在本地明明不大,但是用pandas以DataFrame形式加载内存时候会占用非常高内存...pandas 内部将数值表示为 NumPy ndarrays,因为 pandas 表示同一类型每个时都使用同样字节数,而 NumPy ndarray 可以存储数量,所以 pandas 可以快速准确地返回一个数值所消耗字节数...解决办法是:pandas 在 0.15 版引入了 Categorials。category 类型在底层使用了int来表示一个,而不是使用原始。...当我们将一转换成 category dtype 时,pandas 就使用最节省空间 int 子类型来表示该所有不同。...你可以在此处执行一项非常有用操作是预处理,然后将数据存储在已处理表单,以便在需要时使用。但是,如何以正确格式存储数据而无需再次重新处理?

2.6K20

最全攻略:数据分析师必备Python编程基础知识

Python基本数据类型包括以下几种,这些数据类型表示了自身在Python存储形式。...列表(list) 1.1 列表简介 列表list是Python内置一种数据类型,是一种有序集合,用来存储一连串元素容器,列表用[]来表示,其中元素数据类型可不相同。...,条件会随着循环运行而发生变化,当条件满足时,循环终止。...循环代码中使用了break表示满足条件时终止循环。...05 pandas 读取结构化数据 Numpy多维数组、矩阵等对象具备极高执行效率,但是在商业数据分析,我们不仅需要一堆数据,还需要了解各行、意义,同时会有针对结构化数据相关计算,这些是Numpy

4.5K21

Python3分析CSV数据

函数第二个参数(delimiter=',')是默认分隔符,如果输入和输出文件都用逗号分隔,就不需要此参数。 使用filewriter对象writerow函数来将每行列表写入输出文件。...2.2 筛选特定行 在输入文件筛选出特定行三种方法: 行满足某个条件属于某个集合 行匹配正则表达式 从输入文件筛选出特定行通用代码结构: for row in filereader...meets some business rule or set of rules:*** do something else: do something else 行满足某个条件...需要在逗号前设定行筛选条件,在逗号后设定筛选条件。 例如,loc函数条件设置为:Supplier Name姓名包含 Z,或者Cost大于600.0,并且需要所有的。...最后,对于第三个,使用内置len 函数计算出列表变量header 数量,这个列表变量包含了每个输入文件标题列表。我们使用这个作为每个输入文件数。

6.6K10

最全面的Pandas教程!没有之一!

我们可以用加减乘除(+ - * /)这样运算符对两个 Series 进行运算,Pandas 将会根据索引 index,对响应数据进行计算,结果将会以浮点数形式存储,以避免丢失精度。 ?...DataFrames Pandas DataFrame(数据表)是一种 2 维数据结构,数据以表格形式存储,分成若干行和。通过 DataFrame,你能很方便地处理数据。...此外,你还可以制定多行和/或多,如上所示。 条件筛选 用括号 [] 方式,除了直接指定选中某些外,还能接收一个条件语句,然后筛选出符合条件行/。...你可以用逻辑运算符 &(与)和 |(或)来链接多个条件语句,以便一次应用多个筛选条件到当前 DataFrame 上。举个栗子,你可以用下面的方法筛选出同时满足 'W'>0 和'X'>1 行: ?...在上面的例子,数据透视表某些位置是 NaN 空,因为在原数据里没有对应条件数据。

25.8K64

MySQL数据库、数据表基本操作及查询数据

创建数据表 创建表语法形式 SQL CREATE TABLE ( 字段名1 数据类型 [级别约束条件] [默认], 字段名2 数据类型 [级别约束条件] [默认], …… [表级别约束条件...如果字段满足指定范围查询条件,则这些记录被返回。 同样,在BETWEEN AND关键字前面加上 NOT即可使得查询结果正好相反。...) 返回某最小 SUM() 返回某和 连接查询 内连接查询 在内连接查询,只有满足条件记录才能出现在结果关系。...带 ANY、SOME关键字子查询 ANY和 SOME关键字是同义词,表示满足其中任一条件它们允许创建一个表达式对子查询返回列表进行比较,只要满足内层子查询任何一个比较条件,就返回一个结果作为外层查询条件...当外层查询语句内只要有一个内层查询语句返回数据数据时,则判断为满足条件,外层查询语句将进行查询。 带比较运算符子查询 子查询可以使用 '','>=','!

3K20

【Python基础】python必会10个知识点

它表示为方括号数据点集合。列表可用于存储任何数据类型或不同数据类型混合。 列表是可变,这也是为什么它们如此常用原因之一。因此,我们可以删除和添加项。也可以更新列表项目。...列表生成式相对比for循环快。 ? 下面是一个简单列表生成式,它根据给定条件从另一个列表创建一个列表。...考虑一个需要存储学生成绩案例。我们可以把它们存储在字典或列表。 ? 创建字典一种方法是在大括号编写键值对。...不同可散对象:一个集合包含唯一元素。hashable表示不可变。尽管集合是可变,但集合元素必须是不变。 我们可以通过将逗号分隔对象放在大括号来创建一个集合。...大多数与数据科学相关任务都是通过第三方库和框架完成Pandas、Matplotlib、sciket-learn、TensorFlow等。

1.2K20

关于“Python”核心知识点整理大全10

例如,下例演示了如何以这种方式创建字 典alien_0: 往期快速传送门(在文章最后): 5.4 使用 if 语句处理列表 通过结合使用if语句和列表,可完成一些有趣任务:对列表特定做特殊处理;...5.4.2 确定列表不是空 到目前为止,对于处理每个列表都做了一个简单假设,即假设它们都至少包含一个元素。 我们马上就要让用户来提供存储列表信息,因此不能再假设循环运行时列表不是空。...可使用列表和if语句来确定能否满足顾客要求。 来看看在制作比萨前如何拒绝怪异配料要求。下面的示例定义了两个列表,其中第一个 表包含比萨店供应配料,而第二个列表包含顾客点配料。...在1处,我们定义了一个列表,其中包含比萨店供应配料。请注意,如果比萨店供应配 料是固定,也可使用一个元组来存储它们。...你学习了如何编写 简单if语句、if-else语句和if-elif-else结构。在程序,你使用了这些结构来测试特定条 件,以确定这些条件是否满足

11810

数据导入与预处理-第6章-02数据变换

2.1 数据变换方法(6.2.1 ) 数据变换常见处理方式包括: 数据标准化处理 数据离散化处理 数据泛化处理 在对数据进行分析或挖掘之前,数据必须满足一定条件: 比如方差分析时要求数据具有正态性...转换函数: 其中 max为样本数据最大,min为样本数据最小。max-min为极差。 以一个例子说明标准化计算过程。...基于重塑数据(生成一个“透视”表)。使用来自指定索引/唯一来形成结果DataFrame轴。此函数不支持数据聚合,多个将导致MultiIndex。...pivot_table透视过程如下图: 假设某商店记录了5月和6月活动期间不同品牌手机促销价格,保存到以日期、商品名称、价格为标题表格,若对该表格商品名称进行轴向旋转操作,即将商品名称一唯一变换成索引...,将出售日期一唯一变换成行索引。

19.2K20

10快速入门Query函数使用Pandas查询示例

在开始之前,先快速回顾一下pandas -查询函数query。查询函数用于根据指定表达式提取记录,并返回一个新DataFrame。表达式是用字符串形式表示条件条件组合。...返回输出将包含该表达式评估为真的所有行。 示例1 提取数量为95所有行,因此逻辑形式条件可以写为 - Quantity == 95 需要将条件写成字符串,即将其包装在双引号“”。...它返回了数量为95所有行。如果用一般查询方式可以写成: df [df [“Quantity”] == 95] 但是,如果想在同一再包含一个条件怎么办?...: df.query("Quantity == 95 or UnitPrice == 182") 它返回满足两个条件任意一个条件所有。...日期时间过滤 使用Query()函数在日期时间上进行查询唯一要求是,包含这些应为数据类型dateTime64 [ns] 在示例数据,OrderDate是日期时间,但是我们df其解析为字符串

4.4K10

整理了10个经典Pandas数据查询案例

在开始之前,先快速回顾一下Pandas查询函数query。查询函数用于根据指定表达式提取记录,并返回一个新DataFrame。表达式是用字符串形式表示条件条件组合。...如果用一般查询方式可以写成: df [df [“Quantity”] == 95] 但是,如果想在同一再包含一个条件怎么办? 它在括号符号又增加了一对方括号,如果是3个条件或者更多条件呢?...: df.query("Quantity == 95 or UnitPrice == 182") output 它返回满足两个条件任意一个条件所有。...示例5 想获得即状态“未发货”所有记录,可以在query()表达式写成如下形式: df.query("Status == 'Not Shipped'") output 它返回所有记录,其中状态包含...日期时间过滤 使用query()函数在日期时间上进行查询唯一要求是,包含这些应为数据类型dateTime64 [ns] 在示例数据,OrderDate是日期时间,但是我们df其解析为字符串

19620
领券