板上各位好
小弟目前在写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就可以呢 其中的原理是什么