作者oo855050 (阿伟)
看板Python
标题[问题] pandas赋值取代问题
时间Fri Sep 6 16:56:41 2019
板上各位好
小弟目前在写code时遇到了一个问题
https://imgur.com/27klW2O
上图为资料
https://imgur.com/vOgRarl
而这是我的code
我想达到的目的是将第4行是a所对应的第2行资料提取後
加上5以後赋值回去
但跑程式後会报错无法进行如下图
https://imgur.com/FakgEmX
也许是我程式的逻辑错误了QQ
还不是很会写python的code
希望板上大大能给点帮助
感谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.112.46.166 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1567760203.A.ED9.html
1F:推 chen1i6c04: 使用zip和回圈提取第2行和第4行的值 09/06 21:00
2F:→ chen1i6c04: 当第4行的值是a时,第2行的值就加5 09/06 21:01
3F:→ chen1i6c04: 若不是则不动,然後把这些值放入一个list 09/06 21:02
4F:→ chen1i6c04: 接着将第2行指定为该list 09/06 21:02
5F:→ chen1i6c04: 好像说的不是很好 囧 09/06 21:03
6F:推 sexbear: shorturl.at/cuTWX 09/06 21:34
7F:推 TitanEric: 这是warning 但还是要改个写法 请参考他附的连结 09/07 10:03
8F:推 TitanEric: df.iloc[df.iloc[:, 3] == 'a', 1] += 5 09/07 10:13
9F:→ TitanEric: 请你试一下 手机不方便跑 09/07 10:13
10F:推 mirror0227: 简单来说就是你的值传进了 iloc 生成的 copy 里面。 09/07 10:42
11F:→ mirror0227: iloc 没办法 handle 间接赋值 09/07 10:42
12F:推 TitanEric: 发现有错 请无视我QQ 09/07 10:48
13F:→ oo855050: 这边先感谢大家的回覆 09/07 20:01
14F:→ oo855050: mir大的意思是 iloc只是切片出资料 但并无法直接赋值进 09/07 20:05
15F:→ oo855050: 原本的资料吗 09/07 20:05
16F:→ oo855050: 如果是如此的话 那目前我想达成的目标 应该以什麽指令 09/07 20:06
17F:→ oo855050: 来实现呢 09/07 20:06
18F:推 iphone2003: 把titan大的第一个iloc改成loc就可以了 09/07 21:48
19F:→ TitanEric: 感谢楼上相助 09/08 09:06
20F:→ oo855050: 好的感谢 我晚点来试试^_^ 09/09 17:09
21F:→ oo855050: titan大的方式修改後可行 感谢^_^ 09/09 22:19
22F:→ oo855050: 另外想问一下为何用iloc不行 用loc就可以呢 其中的原理 09/09 23:33
23F:→ oo855050: 是什麽 09/09 23:33