📅  最后修改于: 2020-10-29 02:14:51             🧑  作者: Mango
Pandas sample()用于从DataFrame中随机选择行和列。如果要从大量数据集构建模型,则必须随机选择通过函数样本完成的较小数据样本。
DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)
weights
:它也是一个可选参数,由类似于str或ndarray的参数组成。默认值“无“导致相等的概率加权。如果正在通过系列赛;它将与索引上的目标对象对齐。在采样对象中找不到的权重索引值将被忽略,而在采样对象中没有权重的索引值将被分配零权重。如果在轴= 0时传递了DataFrame,则返回0。它将接受列的名称。如果权重是系列;然后,权重必须与被采样轴的长度相同。如果权重不等于1;它将标准化为1的总和。权重列中的缺失值被视为零。权重栏中不允许无穷大。它返回与调用者相同类型的新对象,其中包含从调用者对象中随机采样的n个项目。
import pandas as pd
info = pd.DataFrame({'data1': [2, 4, 8, 0],
'data2': [2, 0, 0, 0],
'data3': [10, 2, 1, 8]},
index=['John', 'Parker', 'Smith', 'William'])
info
info['data1'].sample(n=3, random_state=1)
info.sample(frac=0.5, replace=True, random_state=1)
info.sample(n=2, weights='data3', random_state=1)
输出量
data1 data2 data3
John 2 2 10
William 0 0 8
在此示例中,我们获取一个csv文件,并使用示例从DataFrame中提取随机行。
名为aa的csv文件,其中包含以下数据集:
让我们编写一个代码,从上述数据集中提取随机行:
# importing pandas package
import pandas as pd
# define data frame from csv file
data = pd.read_csv("aa.csv")
# randomly select one row
row1 = data.sample(n = 1)
# display row
row1
# randomly select another row
row2 = data.sample(n = 2)
# display row
row2
输出量
Name Hire Date Salary Leaves Remaining
2 Parker Chapman 02/21/14 45000.0 10
5 Michael Palin 06/28/13 66000.0 8