데이터 프레임과 시리즈의 모든 데이터를 섞은 결과가 있다고 가정합니다.
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 메소드는 시리즈 데이터를 인수로 취해 셔플합니다.
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)
-
데이터[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