Saya memiliki bingkai data panda yang terlihat seperti ini (ini yang cukup besar)
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
sekarang saya ingin mengulang baris demi baris dan ketika saya melewati setiap baris, nilai dari ifor
setiap baris dapat berubah tergantung pada beberapa kondisi dan saya perlu mencari dataframe lain.
Sekarang, bagaimana saya memperbarui ini saat saya mengulanginya. Sudah mencoba beberapa hal yang tidak ada yang berhasil.
for i, row in df.iterrows():
if <something>:
row['ifor'] = x
else:
row['ifor'] = y
df.ix[i]['ifor'] = x
Tidak satu pun dari pendekatan ini yang berhasil. Saya tidak melihat nilai-nilai diperbarui dalam kerangka data.
<something>
. Apakah kode Anda dapat di-vektor-kan tergantung pada hal-hal itu. Secara umum, hindari iterrows
. Dalam kasus Anda, Anda pasti harus menghindarinya karena setiap baris akan menjadi object
dtype Series
.
df.ix[i,'ifor']
.df.ix[i]['ifor']
bermasalah karena itu dirantai pengindeksan (yang tidak dapat diandalkan dalam panda).