随机排列
利用 numpy.random.permutation() 函数,可以返回一个序列的随机排列。将此随机排列作为 take() 函数的参数,通过应用 take() 函数就可实现按此随机排列来调整 Series 对象或 DataFrame 对象各行的顺序。
其示例代码 example1.py 如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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 如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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随机排列与随机抽样的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/aitree/p/14309480.html