欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅析pandas随机排列与随机抽样

程序员文章站 2022-03-10 23:45:44
随机排列利用 numpy.random.permutation() 函数,可以返回一个序列的随机排列。将此随机排列作为 take() 函数的参数,通过应用 take() 函数就可实现按此随机排列来调整...

随机排列

利用 numpy.random.permutation() 函数,可以返回一个序列的随机排列。将此随机排列作为 take() 函数的参数,通过应用 take() 函数就可实现按此随机排列来调整 series 对象或 dataframe 对象各行的顺序。
其示例代码 example1.py 如下:

import numpy as np
import pandas as pd
#创建dataframe
df = pd.dataframe(np.arange(12).reshape(4,3))
print(df)
 0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11

#创建随机排列
order = np.random.permutation(4)
#通过随机排列调整dataframe各行顺序
newdf = df.take(order)
print(newdf)
 0 1 2
2 6 7 8
3 9 10 11
0 0 1 2
1 3 4 5

随机抽样

随机抽样是指随机从数据中按照一定的行数或者比例抽取数据。随机抽样的函数如下:

numpy.random.randint(start,end,size)

函数中的参数说明如下:

  • start:随机数的开始值;
  • end:随机数的终止值;
  • size:抽样个数。

通过 numpy.random.randint() 函数产生随机抽样的数据,通过应用 take() 函数就可实现随机抽取 series 对象或 dataframe 对象中的数据。其示例代码 example2.py 如下

import numpy as np
import pandas as pd
#创建dataframe
df = pd.dataframe(np.arange(12).reshape(4,3))
print(df)
0 1 2
0 0 1 2
1 3 4 5
2 6 7 8
3 9 10 11

#随机抽样
order = np.random.randint(0,len(df),size=3)
#通过随机抽样抽取dataframe中的行
newdf = df.take(order)
print(newdf)
0 1 2
0 0 1 2
1 3 4 5
1 3 4 5

以上就是详解pandas随机排列与随机抽样的详细内容,更多关于pandas随机排列与随机抽样的资料请关注其它相关文章!