Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python เพื่อสับเปลี่ยนองค์ประกอบทั้งหมดในซีรีย์ที่กำหนด


สมมติว่า คุณมี 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