Buna benzeyen bir panda veri çerçevesi var (oldukça büyük bir tane)
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
şimdi satır satır yineleme yapmak istiyorum ve her satırdan geçerken, her satırın değeri ifor
bazı koşullara bağlı olarak değişebilir ve başka bir veri çerçevesi aramak gerekir.
Şimdi, bunu yinelediğimde nasıl güncelleyebilirim. Hiçbiri işe yaramayan birkaç şey denedi.
for i, row in df.iterrows():
if <something>:
row['ifor'] = x
else:
row['ifor'] = y
df.ix[i]['ifor'] = x
Bu yaklaşımların hiçbiri işe yaramıyor. Veri çerçevesinde güncellenen değerleri görmüyorum.
<something>
. Kodunuzun vectorize edilip edilemeyeceği bu şeylere bağlı olacaktır. Genel olarak kaçının iterrows
. Sizin durumunuzda, her satır bir dtype olacağından kesinlikle kaçınmalısınız . object
Series
df.ix[i,'ifor']
.df.ix[i]['ifor']
sorunlu çünkü zincirleme indeksleme (pandalarda güvenilir değil).