Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

주어진 시리즈의 모든 요소를 ​​섞는 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 메소드는 시리즈 데이터를 인수로 취해 셔플합니다.

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