下面我为您详细讲解“Pandas sample随机抽样的实现”的完整攻略。
什么是Pandas sample随机抽样?
在数据分析领域,经常需要对数据集进行抽样分析,Pandas作为数据分析库,提供了sample方法来实现对数据集的抽样操作。Pandas sample方法可以从DataFrame中获取指定样本数量的数据,同时也支持获取指定比例的数据。
sample方法的语法格式
DataFrame.sample(n=None, frac=None, replace=False, random_state=None, axis=None)
参数:
- n: int类型,表示获取的数据的数量。若不设置该参数则默认为None。
- frac: float类型,表示获取的数据的比例。若不设置该参数则默认为None。
- replace: bool类型,表示是否采用放回抽样。默认为False。
- random_state: int类型,表示随机数生成器的种子,用于保证每次获取的数据相同。默认为None。
- axis:{0 or 'index', 1 or 'columns', None},表示指定抽样的轴,默认为None。
示例说明
示例一
import pandas as pd
import numpy as np
df = pd.DataFrame({
'A': np.arange(10),
'B': np.random.randn(10)
})
print("原始数据:")
print(df)
# 抽样获得两条数据
sample_result1 = df.sample(n=2)
# 抽样获得50%的数据
sample_result2 = df.sample(frac=0.5)
print("抽样结果1:")
print(sample_result1)
print("抽样结果2:")
print(sample_result2)
输出结果:
原始数据:
A B
0 0 0.863850
1 1 1.744089
2 2 0.651587
3 3 -0.646702
4 4 2.177169
5 5 0.647729
6 6 1.414837
7 7 -0.110303
8 8 1.820214
9 9 2.194279
抽样结果1:
A B
7 7 -0.110303
3 3 -0.646702
抽样结果2:
A B
1 1 1.744089
6 6 1.414837
9 9 2.194279
4 4 2.177169
可以看出,sample方法成功的从DataFrame中抽取了指定数量和指定比例的数据,并且每次抽样结果是不同的。
示例二
该示例是对著名公开数据集iris进行抽样操作。首先我们先了解一下iris数据集:
iris数据集包含了三个类别的花,每个类别有 50 批数据,每批数据包含了4个属性:花萼长度,花萼宽度,花瓣长度以及花瓣宽度。
我们可以通过以下代码获取iris数据集:
import pandas as pd
from sklearn.datasets import load_iris
iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
我们现在要从中抽取10%的数据进行分析:
sample_result = df.sample(frac=0.1)
抽样结果中的数据分布如下所示:
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
145 6.7 3.0 5.2 2.3
28 5.2 3.4 1.4 0.2
126 6.2 2.8 4.8 1.8
141 6.9 3.1 5.1 2.3
50 7.0 3.2 4.7 1.4
77 6.7 3.0 5.0 1.7
125 7.2 3.2 6.0 1.8
96 5.7 2.9 4.2 1.3
36 5.5 3.5 1.3 0.2
112 6.8 3.0 5.5 2.1
上述代码从iris数据集中抽取了10%的数据,并获得了包含了10个样本的DataFrame,并保存在sample_result中。通过这种方式我们可以在不影响原始数据集的前提下,有效的进行针对性的样本分析。
以上就是关于“Pandas sample随机抽样实现”的详细攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pandas sample随机抽样的实现 - Python技术站