便宜VPS主机精选
提供服务器主机评测信息

pandas随机抽取数据(pandas生成随机数)

随机抽样,是统计学中常用的一种方法,它可以帮助我们从大量的数据中快速地构建出一组数据分析模型。在 Pandas 中,如果想要对数据集进行随机抽样,需要使用 sample() 函数。

sample() 函数的语法格式如下:

DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None)

参数说明如下表所示:

参数名称 参数说明
n 表示要抽取的行数。
frac 表示抽取的比例,比如 frac=0.5,代表抽取总体数据的50%。
replace 布尔值参数,表示是否以有放回抽样的方式进行选择,默认为 False,取出数据后不再放回。
weights 可选参数,代表每个样本的权重值,参数值是字符串或者数组。
random_state 可选参数,控制随机状态,默认为 None,表示随机数据不会重复;若为 1 表示会取得重复数据。
axis 表示在哪个方向上抽取数据(axis=1 表示列/axis=0 表示行)。

该函数返回与数据集类型相同的新对象,相当于 numpy.random.choice()。实例如下:

  1. import pandas as pd
  2. dict = {‘name’:[“Jack”, “Tom”, “Helen”, “John”],‘age’: [28, 39, 34, 36],‘score’:[98,92,91,89]}
  3. info = pd.DataFrame(dict)
  4. #默认随机选择两行
  5. info.sample(n=2)
  6. #随机选择两列
  7. info.sample(n=2,axis=1)

输出结果:

   name  age  score
3  John   36     89
0  Jack   28     98

   score   name
0     98   Jack
1     92    Tom
2     91  Helen
3     89   John

再来看一组示例:

  1. import pandas as pd
  2. info = pd.DataFrame({‘data1’: [2, 6, 8, 0], ‘data2’: [2, 5, 0, 8], ‘data3’: [12, 2, 1, 8]}, index=[‘John’, ‘Parker’, ‘Smith’, ‘William’])
  3. info
  4. #随机抽取3个数据
  5. info[‘data1’].sample(n=3)
  6. #总体的50%
  7. info.sample(frac=0.5, replace=True)
  8. #data3序列为权重值,并且允许重复数据出现
  9. info.sample(n=2, weights=‘data3’, random_state=1)

输出结果:

随机选择3行数据:
William    0
Smith      8
Parker     6
Name: data1, dtype: int64

         data1  data2  data3
John         2      2     12
William      0      8      8

         data1  data2  data3
John         2      2     12
William      0      8      8
未经允许不得转载:便宜VPS测评 » pandas随机抽取数据(pandas生成随机数)