板上各位好
小弟目前在寫code時遇到了一個問題
https://imgur.com/27klW2O
上圖為資料
https://imgur.com/vOgRarl
而這是我的code
我想達到的目的是將第4行是a所對應的第2行資料提取後
加上5以後賦值回去
但跑程式後會報錯無法進行如下圖
https://imgur.com/FakgEmX
也許是我程式的邏輯錯誤了QQ
還不是很會寫python的code
希望板上大大能給點幫助
感謝~
使用zip和迴圈提取第2行和第4行的值當第4行的值是a時,第2行的值就加5若不是則不動,然後把這些值放入一個list接著將第2行指定為該list好像說的不是很好 囧
作者:
sexbear (uu)
2019-09-06 21:34:00shorturl.at/cuTWX
這是warning 但還是要改個寫法 請參考他附的連結df.iloc[df.iloc[:, 3] == 'a', 1] += 5請你試一下 手機不方便跑
簡單來說就是你的值傳進了 iloc 生成的 copy 裡面。iloc 沒辦法 handle 間接賦值
這邊先感謝大家的回覆mir大的意思是 iloc只是切片出資料 但並無法直接賦值進原本的資料嗎如果是如此的話 那目前我想達成的目標 應該以什麼指令來實現呢
好的感謝 我晚點來試試^_^titan大的方式修改後可行 感謝^_^另外想問一下為何用iloc不行 用loc就可以呢 其中的原理是什麼