ฉันมีกรอบข้อมูลแพนด้าที่มีลักษณะเช่นนี้ (มันค่อนข้างใหญ่)
date exer exp ifor mat
1092 2014-03-17 American M 528.205 2014-04-19
1093 2014-03-17 American M 528.205 2014-04-19
1094 2014-03-17 American M 528.205 2014-04-19
1095 2014-03-17 American M 528.205 2014-04-19
1096 2014-03-17 American M 528.205 2014-05-17
ตอนนี้ฉันต้องการวนซ้ำทีละแถวและเมื่อฉันผ่านแต่ละแถวค่าของifor
ในแต่ละแถวสามารถเปลี่ยนแปลงได้ขึ้นอยู่กับเงื่อนไขบางอย่างและฉันต้องการค้นหา dataframe อื่น
ตอนนี้ฉันจะอัปเดตสิ่งนี้อย่างไรเมื่อฉันย้ำ พยายามบางสิ่งที่พวกเขาไม่ได้ทำงาน
for i, row in df.iterrows():
if <something>:
row['ifor'] = x
else:
row['ifor'] = y
df.ix[i]['ifor'] = x
วิธีการเหล่านี้ดูเหมือนจะไม่ทำงาน ฉันไม่เห็นค่าที่อัปเดตใน dataframe
<something>
เช่นเดียวกับ ไม่ว่าโค้ดของคุณจะเป็นแบบเวกเตอร์จะขึ้นอยู่กับสิ่งเหล่านั้นหรือไม่ iterrows
โดยทั่วไปควรหลีกเลี่ยง ในกรณีของคุณคุณควรแน่นอนหลีกเลี่ยงได้เนื่องจากแต่ละแถวจะเป็นdtypeobject
Series
df.ix[i,'ifor']
ฉันคิดว่าคุณต้องการdf.ix[i]['ifor']
เป็นปัญหาเนื่องจากเป็นดัชนีที่ถูกล่ามโซ่ (ซึ่งไม่น่าเชื่อถือในนุ่น)