Pandas: วิธีใช้ factorize() เพื่อเข้ารหัสสตริงเป็นตัวเลข
ฟังก์ชัน pandas factorize() สามารถใช้เข้ารหัสสตริงเป็นค่าตัวเลขได้
คุณสามารถใช้วิธีการต่อไปนี้เพื่อใช้ฟังก์ชัน factorize() กับคอลัมน์ของ Pandas DataFrame:
วิธีที่ 1: แยกตัวประกอบคอลัมน์
df[' col1 '] = pd. factorize (df[' col '])[0]
วิธีที่ 2: แยกตัวประกอบคอลัมน์เฉพาะ
df[[' col1 ', ' col3 ']] = df[[' col1 ', ' col3 ']]. apply ( lambda x: pd.factorize (x)[ 0 ])
วิธีที่ 3: แยกตัวประกอบคอลัมน์ทั้งหมด
df = df. apply ( lambda x: pd.factorize (x)[ 0 ])
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีกับ DataFrame แพนด้าต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' conf ': ['West', 'West', 'East', 'East'], ' team ': ['A', 'B', 'C', 'D'], ' position ': ['Guard', 'Forward', 'Guard', 'Center'] }) #view DataFrame df conf team position 0 West A Guard 1 West B Forward 2 East C Guard 3 East D Center
ตัวอย่างที่ 1: แยกตัวประกอบคอลัมน์
รหัสต่อไปนี้แสดงวิธีการแยกตัวประกอบคอลัมน์ใน DataFrame:
#factorize the conf column only df[' conf '] = pd. factorize (df[' conf '])[ 0 ] #view updated DataFrame df conf team position 0 0 A Guard 1 0 B Forward 2 1 C Guard 3 1 D Center
โปรดทราบว่ามีการแยกตัวประกอบเฉพาะคอลัมน์ ‘conf’ เท่านั้น
ทุกค่าที่เป็น “ตะวันตก” ตอนนี้เป็น 0 และทุกค่าที่เป็น “ตะวันออก” ตอนนี้เป็น 1
ตัวอย่างที่ 2: แยกตัวประกอบคอลัมน์เฉพาะ
รหัสต่อไปนี้แสดงวิธีการแยกตัวประกอบคอลัมน์เฉพาะใน DataFrame:
#factorize conf and team columns only df[[' conf ', ' team ']] = df[[' conf ', ' team ']]. apply ( lambda x: pd.factorize (x)[ 0 ]) #view updated DataFrame df conf team position 0 0 0 Guard 1 0 1 Forward 2 1 2 Guard 3 1 3 Center
โปรดทราบว่าคอลัมน์ “conf” และ “ทีม” ได้รับการแยกตัวประกอบแล้ว
ตัวอย่างที่ 3: แยกตัวประกอบคอลัมน์ทั้งหมด
รหัสต่อไปนี้แสดงวิธีการแยกตัวประกอบคอลัมน์ทั้งหมดใน DataFrame:
#factorize all columns df = df. apply ( lambda x: pd.factorize (x)[ 0 ]) #view updated DataFrame df conf team position 0 0 0 0 1 0 1 1 2 1 2 0 3 1 3 2
โปรดทราบว่าคอลัมน์ทั้งหมดได้รับการแยกตัวประกอบแล้ว
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:
วิธีแปลงคอลัมน์ Pandas DataFrame เป็นสตริง
วิธีแปลงตัวแปรหมวดหมู่เป็นตัวเลขใน Pandas
วิธีแปลงคอลัมน์ Pandas DataFrame เป็นจำนวนเต็ม