编写一个Python程序以随机​​播放给定系列中的所有元素

假设您有一个数据框,并且将所有数据按顺序进行了混洗,

The original series is
0    1
1    2
2    3
3    4
4    5
dtype: int64
The shuffled series is :
0    2
1    1
2    3
3    5
4    4
dtype: int64

解决方案1

  • 定义一个系列。

  • Apply random shuffle method采用系列数据作为参数,并对其进行混洗。

data = pd.Series([1,2,3,4,5])
print(data)
rand.shuffle(data)

例子

让我们看下面的代码以获得更好的理解-

import pandas as pd
import random as rand
data = pd.Series([1,2,3,4,5])
print("original series is\n",data)
rand.shuffle(data)
print("shuffles series is\n",data)

输出

original series is
0    1
1    2
2    3
3    4
4    5
dtype: int64
shuffles series is
0    2
1    3
2    1
3    5
4    4
dtype: int64

解决方案2

  • 定义一个系列。

  • 创建for循环以访问序列数据并在j变量中生成随机索引。它的定义如下

for i in range(len(data)-1, 0, -1):
   j = random.randint(0, i + 1)

  • 交换data [i]和元素在随机索引位置,

data[i], data[j] = data[j], data[i]

例子

让我们看下面的代码以获得更好的理解-

import pandas as pd
import random
data = pd.Series([1,2,3,4,5])
print ("The original series is \n", data)
for i in range(len(data)-1, 0, -1):
   j = random.randint(0, i + 1)
   data[i], data[j] = data[j], data[i]
print ("The shuffled series is : \n ", data)

输出

The original series is
0    1
1    2
2    3
3    4
4    5
dtype: int64
The shuffled series is :
0    2
1    1
2    3
3    5
4    4
dtype: int64

猜你喜欢