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