pandas 的df.smaple()抽样函数
df.sample()就是抽样函数,参数如下:
df.sample(n=None,frac=None,replace=Flase,weights=None,random_state=None,axis=None)
参数说明:
n:就是样本量,如果不写,就是抽一条数据
frac:抽样比,就是样本量占全样本的比例,如frac=0.3 ,注意n和frac不能共存
replace:是否放回,默认是不放回,如果有放回(replace=True)可以选择比df长度更多的元素回来
weights:样本权重,自动归一化,可以以某一列为权重
random_state:随机状态。就是为了保证程序每次运行得到的结果都一样
axis:抽样维度,0是行,1是列,默认为0
下面用iris数据做例子
from sklearn.datasets import load_iris import pandas as pd import numpy as np iris=load_iris() df=pd.DataFrame(iris.data,columns=iris.feature_names) df.sample #不带括号,全样本 df.sample() #抽一条数据 df.sample(5) #随机抽5条 de.sample(n=5) #可以写n=或者不写 df.sample(frac=0.1) #抽取比例为0.1 df.sample(n=5,frac=0.1) #报错ValueError: Please enter a value for `frac` OR `n`, not both df.sample(n=15,replace=True) #有放回抽取15条数据 df.sample(n=15,replace=True).index.is_unique #查看有放回抽取的15条数据的索引是不是有重复 len(df.sample(n=200,replace=True)),len(df) #(200, 150) # 有放回(replace=True)可以选择比df长度更多的元素回来 df.sample(n=3,axis=1) #对列抽样 w=np.random.rand(df.shape[0]) #w是150个从0-1之间的随机数 df.sample(n=3,weights=w) df.sample(n=3,weights=df['sepal width (cm)']) #以某列为权重 df.sample(n=3,weights=df['sepal width (cm)'].values) #以某一列为权重,这在抽样理论中很常见--本质上是以这一列的列值为权重 df.sample(n=3,random_state=3) #设置了,每次程序运行的结果都一致
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人