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

จะเปลี่ยนคอลัมน์ใน Pandas DataFrame ได้อย่างไร?


เราสามารถใช้เมธอด shift() ใน Pandas เพื่อเลื่อนคอลัมน์ของ DataFrame โดยไม่ต้องเขียน DataFrame ใหม่ทั้งหมด shift() รับพารามิเตอร์ต่อไปนี้

shift(ตัวเอง จุด=1 ความถี่=ไม่มี แกน=0, fill_value=None)
  • ช่วงเวลา จำนวนงวดที่จะเลื่อน ก็สามารถเป็นค่าลบได้เช่นกัน
  • แกน ต้องใช้ค่าบูลีน 0 หากคุณต้องการเปลี่ยนดัชนีและ 1 หากคุณต้องการเปลี่ยนคอลัมน์
  • fill_value มันจะมาแทนที่ค่าที่หายไป

มาดูตัวอย่างการใช้งาน shift() . นี้กัน วิธีการ

ขั้นตอน

  • สร้างข้อมูลตารางแบบสองมิติ ปรับขนาดได้ และอาจต่างกันได้ df.
  • พิมพ์อินพุต DataFrame, df.
  • เลือกคอลัมน์และเปลี่ยนโดยใช้ df["column_name]=df.column_name.shift()
  • พิมพ์ DataFrame ที่อัปเดต

ตัวอย่าง

นำเข้าแพนด้าเป็น pddf =pd.DataFrame( dict( name=['John', 'Jacob', 'Tom', 'Tim', 'Ally'], marks=[89, 23, 100, 56, 90 ], subjects=["Math", "Physics", "Chemistry", "Biology", "English"] )) พิมพ์ "Input DataFrame is:\n", dfdf["name"] =df.name.shift( 1) พิมพ์ "หลังจากเปลี่ยนชื่อคอลัมน์ทีละ 1:\n", dfdf["marks"] =df.marks.shift(2)print "หลังจากเปลี่ยนเครื่องหมายคอลัมน์ทีละ 2:\n", dfdf[" subjects"] =df.subjects.shift(-1)print "หลังจากขยับหัวเรื่องในคอลัมน์ไป -1:\n", df

ผลลัพธ์

Input DataFrame is:name marks subjects0 John 89 Math1 Jacob 23 Physics2 Tom 100 Chemistry3 Tim 56 Biology4 Ally 90 English After shifting column name by 1:name stars subjects0 NaN 89 Math1 John 23 Physics2 Jacob 100 Chemistry3 Tom 56 Biology4 Tim 90 English After shifting เครื่องหมายคอลัมน์โดย 2:เครื่องหมายชื่อ วิชา0 NaN 100 คณิตศาสตร์1 จอห์น 100 ฟิสิกส์2 เจคอบ 89 เคมี3 ทอม 23 ชีววิทยา4 ทิม 100 ภาษาอังกฤษหลังจากเปลี่ยนหัวเรื่องคอลัมน์ด้วย -1:เครื่องหมายชื่อ วิชา0 NaN 100 ฟิสิกส์1 จอห์น 100 เคมี2 เจคอบ 89 ชีววิทยา3 ทอม 23 ภาษาอังกฤษ4 ทิม 100 นาโน