让我们来详细讲解一下“pandas之query方法和sample随机抽样操作”的完整攻略。
Pandas之Query方法
在使用pandas进行数据清洗与分析时,我们经常会使用到筛选操作。而query()
方法是pandas中比较常用的一种筛选方式,它可以用类似SQL语句的方式进行筛选,使用方法如下。
使用Syntax
DataFrame.query(expr, inplace=False, **kwargs)
expr
:查询表达式,必选参数。
inplace
:是否在原数据上直接进行修改,默认为False
。
kwargs
:局部的环境变量作用域。
使用示例
下面我们用一个简单的实例来演示如何使用query方法进行选择操作。
import pandas as pd
data = pd.DataFrame({'name':['xiaoming', 'xiaohua', 'xiaogang', 'Lisa'],
'age':[23, 25, 27, 20],
'gender':['M', 'F', 'M', 'F']})
print(data.query('age > 23'))
输出结果为:
name age gender
1 xiaohua 25 F
2 xiaogang 27 M
上述实例中,我们用query方法选择了所有age
大于23的行。
Pandas之Sample方法
在进行数据分析时,我们经常会遇到需要通过随机抽样来获取样本数据,从而方便后续的分析处理。而sample()
方法可以帮助我们进行随机抽样,使用方法如下。
使用Syntax
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
n
:抽样数量,可以传入int类型数,或者None,默认为None。
frac
:抽样比例,可以传入float类型数,或者None,默认为None。
replace
:是否有放回抽样,默认为False。
weights
:样本权重,可以传入数组,代表每个样本对应的权重。
random_state
:随机数种子。
axis
:抽样的方向,可以为0(行方向)或1(列方向),默认为0。
使用示例
下面我们用一个简单的实例来演示如何使用sample方法进行随机抽样操作。
import pandas as pd
data = pd.DataFrame({'name':['xiaoming', 'xiaohua', 'xiaogang', 'Lisa'],
'age':[23, 25, 27, 20],
'gender':['M', 'F', 'M', 'F']})
print(data.sample(n=2, random_state=42))
输出结果为:
name age gender
0 xiaoming 23 M
2 xiaogang 27 M
上述实例中,我们用sample方法随机抽取了数据中的2行数据。
同时,我们还可以设置抽样比例进行抽样:
import pandas as pd
data = pd.DataFrame({'name':['xiaoming', 'xiaohua', 'xiaogang', 'Lisa'],
'age':[23, 25, 27, 20],
'gender':['M', 'F', 'M', 'F']})
print(data.sample(frac=0.5, random_state=42))
输出结果为:
name age gender
1 xiaohua 25 F
0 xiaoming 23 M
这里我们设置抽样比例为0.5,所以随机抽取了2行数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas之query方法和sample随机抽样操作 - Python技术站