Computer >> Máy Tính >  >> Lập trình >> Python

Viết một chương trình Python để xáo trộn tất cả các phần tử trong một chuỗi nhất định

Giả sử, bạn có một khung dữ liệu và kết quả cho việc xáo trộn tất cả dữ liệu trong một chuỗi,

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

Giải pháp 1

  • Xác định một chuỗi.

  • Áp dụng phương pháp trộn ngẫu nhiên lấy dữ liệu chuỗi làm đối số và xáo trộn nó.

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

Ví dụ

Hãy xem đoạn mã dưới đây để hiểu rõ hơn -

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)

Đầu ra

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

Giải pháp 2

  • Xác định một chuỗi.

  • Tạo vòng lặp for để truy cập dữ liệu chuỗi và tạo chỉ mục ngẫu nhiên trong biến j. Nó được định nghĩa bên dưới,

for i in range(len(data)-1, 0, -1):
   j = random.randint(0, i + 1)
  • Trao đổi dữ liệu [i] với phần tử ở vị trí chỉ mục ngẫu nhiên,

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

Ví dụ

Hãy xem đoạn mã dưới đây để hiểu rõ hơn -

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)

Đầu ra

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