मान लें, आपके पास एक डेटाफ़्रेम है और एक श्रृंखला में सभी डेटा को शफ़ल करने का परिणाम है,
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
-
एक श्रृंखला परिभाषित करें।
-
यादृच्छिक फेरबदल विधि लागू करें श्रृंखला डेटा को एक तर्क के रूप में लेता है और इसे फेरबदल करता है।
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
-
एक श्रृंखला परिभाषित करें।
-
श्रृंखला डेटा तक पहुँचने के लिए लूप के लिए बनाएँ और j चर में यादृच्छिक अनुक्रमणिका उत्पन्न करें। इसे नीचे परिभाषित किया गया है,
for i in range(len(data)-1, 0, -1): j = random.randint(0, i + 1)
-
यादृच्छिक सूचकांक स्थिति में तत्व के साथ डेटा [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