在处理数据的过程中,有时需要
筛选
出数据框中符合特定
条件
的
行
,以便对这些
行
进
行
进一步的处理或者分析。Python
Pandas
库提供了多种方式来实现基于
条件
的
行
选择。除了使用 query() 方法外,也可以使用
Pandas
提供的 loc[] 方法来选择符合
条件
的
行
。接下来,我们可以使用
Pandas
提供的 query() 方法来选择符合
条件
的
行
。下面我们将演示如何使用
Pandas
实现基于
条件
的
行
选择,并提供相应的源代码。
筛选
符合
条件
的数据
行
(Python
Pandas
数据框中基于
条件
的
行
选择)
Python
Pandas
中
Dataframe
对象,如何根据列值
筛选
满足条件
的
行
,并且返回列的索引值,我们举栗子说明一下:
1.先创建一个
dataframe
变量df:
df = pd.
DataFrame
(np.arange(16).reshape(4,4),
#index = pd.date_range('20200301', periods=4),
index = list('hjkl'),
columns = list('ABCD'))
df =df.append(df)
df的样子如下
Pandas
是作为Python
数据分析
著名的工具包,提供了多种数据选取的方法,方便实用。本文主要介绍
Pandas
的几种数据选取的方法。
Pandas
中,数据主要保存为
Dataframe
和Series是数据结构,这两种数据结构数据选取的方式基本一致,本文主要以
Dataframe
为例进
行
介绍。
在
Dataframe
中选取数据大抵包括3中情况:
1)
行
(列)选取(单维度选取):df[]。这种情况一次只能选取
行
或者列,即一次选取中,只能为
行
或者列设置
筛选
条件
(只能为一个维度设置
筛选
条件
)。
2)区域选取(多维选取):df.loc[],df.iloc[],df.ix[]。
Pandas
行
数据
筛选
一、准备数据二、通过逻辑规则
筛选
(大于/小于等)三、删除重复元素三、显示最前面 / 最后面的 n
行
3.1 显示前面 n
行
3.2 显示后面 n
行
四、随机抽取4.1 随机抽取一定比例4.2 随机抽取 n
行
五、切片选取特定范围六、排序并选取最值6.1 选取最大的 n 个值6.2 选取最小的 n 个值
一、准备数据
import
pandas
as pd
# 假设有 5 个人,分别参加了 2 门课程,获得了对应的分数
data = {'name' : pd.Series(['Alic
Python中
DataFrame
使用判断语句选取、过滤满足判断
条件
的
行
- 通过逻辑指针进
行
数据切片
使用逻辑判断语句:df1[df['col']>= 2] #逻辑
条件
使用具体的例子看:
1.创建
dataframe
对象df1
df1=pd.
DataFrame
(np.arange(16).reshape(4,4),
index = pd.date_...
用concat函数拼接出每次
筛选
出的
dataframe
,用
dataframe
.loc函数可以按某列的值
筛选
。这里
筛选
出matchId那列值为MS701的
行
。
日常用Python做
数据分析
最常用到的就是查询
筛选
了,按各种
条件
、各种维度以及组合挑出我们想要的数据,以方便我们分析挖掘。
今天我给大家总结了日常查询和
筛选
常用的种骚操作,供各位学习参考。本文采用sklearn的boston数据举例介绍。喜欢本文记得收藏、关注、点赞。
【注】完整代码、数据资料、文末提供技术交流群
from sklearn import datasets
import
pandas
as pd
boston = datasets.load_boston()
df = pd.DataFram
import
pandas
as pd
import numpy as np
df=pd.
DataFrame
(np.arange(16).reshape(4,4),columns=["sh","bj","sz","gz"],index=["one","two","three","four"])
2、
筛选
出"sh"列大于5的数据
法一:直接
筛选
,适用于一些比较简单直接的
筛选
,这种方式方便快捷。
df[df["sh"]>5]
法二:函数
筛选
,适用于比较复杂的
条件
筛选
,函
import numpy as np
df = pd.
DataFrame
({'code': '000001.SZ 000002.SZ 000006.SZ 000009.SZ'.split(),
'open': '1.2 20 3.5 2.8'.split