编写一个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
定义一个系列。
Applyrandomshufflemethod采用系列数据作为参数,并对其进行混洗。
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