Eu tenho um quadro de dados de pandas que se parece com isso (é bem grande)
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
agora eu gostaria de iterar linha por linha e, à medida que ifor
passo cada linha, o valor de cada linha pode mudar dependendo de algumas condições e preciso procurar outro quadro de dados.
Agora, como atualizo isso à medida que itero. Tentei algumas coisas que nenhum deles funcionou.
for i, row in df.iterrows():
if <something>:
row['ifor'] = x
else:
row['ifor'] = y
df.ix[i]['ifor'] = x
Nenhuma dessas abordagens parece funcionar. Não vejo os valores atualizados no quadro de dados.
<something>
. Se o seu código pode ser vetorizado dependerá dessas coisas. Em geral, evite iterrows
. No seu caso, você deve definitivamente evitá-lo, pois cada linha será um object
tipo Series
.
df.ix[i,'ifor']
.df.ix[i]['ifor']
é problemático porque é indexado em cadeia (o que não é confiável em pandas).