วิธีทำให้คอลัมน์เป็นมาตรฐานใน pandas dataframe


บ่อยครั้งที่คุณอาจต้องการ ทำให้ ค่าข้อมูลของคอลัมน์ตั้งแต่หนึ่งคอลัมน์ขึ้นไปเป็นมาตรฐานใน Pandas DataFrame

บทช่วยสอนนี้จะอธิบายสองวิธีในการดำเนินการนี้:

1. การทำให้เป็นมาตรฐานขั้นต่ำ-สูงสุด

  • วัตถุประสงค์: แปลงค่าข้อมูลแต่ละค่าให้เป็นค่าระหว่าง 0 ถึง 1
  • สูตร: ค่าใหม่ = (ค่า – นาที) / (สูงสุด – นาที)

2. การทำให้เป็นมาตรฐานโดยเฉลี่ย

  • วัตถุประสงค์: ปรับขนาดค่าโดยให้ค่าเฉลี่ยของค่าทั้งหมดเป็น 0 และมาตรฐาน ผู้พัฒนา คือ 1
  • สูตร: ค่าใหม่ = (ค่า – ค่าเฉลี่ย) / (ส่วนเบี่ยงเบนมาตรฐาน)

เรามาดูตัวอย่างวิธีการใช้แต่ละวิธีบน pandas DataFrame

ตัวอย่างที่ 1: การทำให้เป็นมาตรฐานขั้นต่ำ-สูงสุด

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]}) 

#view DataFrame
print (df)

   points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

เราสามารถใช้โค้ดต่อไปนี้เพื่อใช้การปรับมาตรฐานขั้นต่ำ-สูงสุดกับแต่ละคอลัมน์ของ DataFrame:

 (df-df. min ())/(df. max ()-df. min ())

        points assists rebounds
0 1.000000 0.000000 1.0
1 0.000000 0.285714 0.4
2 0.230769 0.285714 0.8
3 0.153846 0.571429 0.0
4 0.538462 1.000000 0.0

ค่าสูงสุดในแต่ละคอลัมน์คือ 1 และค่าต่ำสุดในแต่ละคอลัมน์คือ 0 โดยมีค่าอื่นๆ ทั้งหมดระหว่าง 0 ถึง 1

ตัวอย่างที่ 2: การทำให้เป็นมาตรฐานโดยเฉลี่ย

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
                   'assists': [5, 7, 7, 9, 12],
                   'rebounds': [11, 8, 10, 6, 6]}) 

#view DataFrame
print (df)

   points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

เราสามารถใช้โค้ดต่อไปนี้เพื่อใช้การทำให้เป็นมาตรฐานโดยเฉลี่ยกับแต่ละคอลัมน์ใน DataFrame:

 (df- df.mean ())/df. std ()

        points assists rebounds
0 1.554057 -1.133893 1.227881
1 -0.971286 -0.377964 -0.087706
2 -0.388514 -0.377964 0.789352
3 -0.582772 0.377964 -0.964764
4 0.388514 1.511858 -0.964764

ขณะนี้ค่าในแต่ละคอลัมน์ถูกทำให้เป็นมาตรฐานแล้ว โดยค่าเฉลี่ยของค่าในแต่ละคอลัมน์คือ 0 และค่าเบี่ยงเบนมาตรฐานของค่าในแต่ละคอลัมน์คือ 1

หากจุดข้อมูลใดจุดหนึ่งมีค่าที่ทำให้เป็นมาตรฐานมากกว่า 0 แสดงว่าจุดข้อมูลนั้นมากกว่าค่าเฉลี่ยของคอลัมน์ ในทางกลับกัน ค่าที่ทำให้เป็นมาตรฐานที่น้อยกว่า 0 บ่งชี้ว่าจุดข้อมูลอยู่ต่ำกว่าค่าเฉลี่ยของคอลัมน์

แหล่งข้อมูลเพิ่มเติม

นุ่น: วิธีจัดกลุ่มและรวมเป็นหลายคอลัมน์
วิธีกรอง Pandas DataFrame ในหลายเงื่อนไข
วิธีนับค่าที่หายไปใน Pandas DataFrame

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *