สมมติว่า คุณมี dataframe และผลลัพธ์สำหรับการสับเปลี่ยนข้อมูลทั้งหมดในชุดข้อมูล
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)
-
สลับ data[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