ฉันมี DataFrame df
:
A B
a 2 2
b 3 1
c 1 3
ฉันต้องการสร้างคอลัมน์ใหม่ตามเกณฑ์ต่อไปนี้:
ถ้าแถว A == B: 0
ถ้าแถวA > B: 1
ถ้าแถว A < B: -1
ดังนั้นตารางด้านบนควรเป็น:
A B C
a 2 2 0
b 3 1 1
c 1 3 -1
สำหรับif else
กรณีทั่วไปที่ฉันทำnp.where(df.A > df.B, 1, -1)
แพนด้ามีไวยากรณ์พิเศษสำหรับการแก้ปัญหาของฉันด้วยขั้นตอนเดียวหรือไม่ (โดยไม่จำเป็นต้องสร้างคอลัมน์ใหม่ 3 คอลัมน์แล้วรวมผลลัพธ์)
apply
และการตั้งค่าaxis=1
จะใช้งานได้ไม่แน่ใจว่าฉันสามารถคิดถึงการดำเนินการที่จะให้สิ่งที่คุณต้องการ