สมมติว่าคุณมี dataframe สองอัน และผลลัพธ์สำหรับ cross-tabulation คือ
Age 12 13 14 Mark 80 90 85 Id 1 1 0 0 2 0 1 0 3 1 0 0 4 0 1 0 5 0 0 1
วิธีแก้ปัญหา
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนด้านล่าง -
-
กำหนดสองดาต้าเฟรม
-
ใช้ฟังก์ชัน df.crosstab() ภายในดัชนีเป็น 'Id' และคอลัมน์เป็น 'Age' และ 'Mark' มีการกำหนดไว้ด้านล่าง
pd.crosstab(index=df['Id'],columns=[df['Age'],df1['Mark']])
ตัวอย่าง
import pandas as pd df = pd.DataFrame({'Id':[1,2,3,4,5],'Age':[12,13,12,13,14]}) df1 = pd.DataFrame({'Mark':[80,90,80,90,85]}) print(pd.crosstab(index=df['Id'],columns=[df['Age'],df1['Mark']]))
ผลลัพธ์
Age 12 13 14 Mark 80 90 85 Id 1 1 0 0 2 0 1 0 3 1 0 0 4 0 1 0 5 0 0 1