วิธีสร้างคอลัมน์ออฟเซ็ตในนุ่น (พร้อมตัวอย่าง)


คุณสามารถใช้ฟังก์ชัน shift() ใน pandas เพื่อสร้างคอลัมน์ที่แสดงค่าที่เลื่อนมาจากคอลัมน์อื่น

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 df[' lagged_col1 '] = df[' col1 ']. shift ( 1 )

โปรดทราบว่าค่าของฟังก์ชัน shift() ระบุจำนวนค่าที่จะคำนวณกะ

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: สร้างคอลัมน์ออฟเซ็ตใน Pandas

สมมติว่าเรามี DataFrame แพนด้าต่อไปนี้ที่แสดงยอดขายที่ทำโดยร้านค้าในช่วง 10 วันติดต่อกัน:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' day ': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   ' sales ': [18, 10, 14, 13, 19, 24, 25, 29, 15, 18]})
#view DataFrame
print (df)

   day sales
0 1 18
1 2 10
2 3 14
3 4 13
4 5 19
5 6 24
6 7 25
7 8 29
8 9 15
9 10 18

เราสามารถใช้ฟังก์ชัน shift() เพื่อสร้างคอลัมน์ shift ที่แสดงยอดขายของวันก่อนหน้าสำหรับแต่ละแถว:

 #add column that represents lag of sales column
df[' sales_previous_day '] = df[' sales ']. shift ( 1 )

#view updated DataFrame
print (df)

   day sales sales_previous_day
0 1 18 NaN
1 2 10 18.0
2 3 14 10.0
3 4 13 14.0
4 5 19 13.0
5 6 24 19.0
6 7 25 24.0
7 8 29 25.0
8 9 15 29.0
9 10 18 15.0

ต่อไปนี้เป็นวิธีการตีความผลลัพธ์:

  • ค่าแรกในคอลัมน์ความล่าช้าคือ NaN เนื่องจากไม่มีค่าก่อนหน้าในคอลัมน์ การขาย
  • ค่าที่สองในคอลัมน์ออฟเซ็ตคือ 18 เนื่องจากเป็นค่าก่อนหน้าในคอลัมน์ ยอดขาย
  • ค่าที่สามในคอลัมน์ออฟเซ็ตคือ 10 เนื่องจากเป็นค่าก่อนหน้าในคอลัมน์ ยอดขาย

และอื่นๆ

โปรดทราบว่าเรายังสามารถเพิ่มคอลัมน์ออฟเซ็ตหลายคอลัมน์ลงใน DataFrame ได้หากเราต้องการ:

 #add two lag columns
df[' sales_previous_day '] = df[' sales ']. shift ( 1 )
df[' sales_previous_day2 '] = df[' sales ']. shift ( 2 ) 

#view updated DataFrame
print (df)

   day sales sales_previous_day sales_previous_day2
0 1 18 NaN NaN
1 2 10 18.0 NaN
2 3 14 10.0 18.0
3 4 13 14.0 10.0
4 5 19 13.0 14.0
5 6 24 19.0 13.0
6 7 25 24.0 19.0
7 8 29 25.0 24.0
8 9 15 29.0 25.0
9 10 18 15.0 29.0

คุณสามารถใช้วิธีทั่วไปเดียวกันนี้เพื่อเพิ่มคอลัมน์ออฟเซ็ตได้มากเท่าที่คุณต้องการ

หมายเหตุ : หากต้องการสร้างคอลัมน์หลัก เพียงใช้ค่าลบในฟังก์ชัน shift()

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ในแพนด้า:

วิธีลบคอลัมน์ใน Pandas
วิธีแยกคอลัมน์ใน Pandas
วิธีใช้ฟังก์ชันกับคอลัมน์ที่เลือกใน Pandas
วิธีเปลี่ยนลำดับคอลัมน์ใน Pandas DataFrame

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

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