kinglw 发表于 2020-2-1 11:52:51

can't assign to function call 如何解决

各位老大好,下面的哪里出错了,我用的PYTHON 3.7.2 版本
import pandas as pd
books = pd.read_excel('Books (1).xlsx',usecols='c:f',skiprows=3)

for i in books.index:
    books['ID'].at(i) = i+1
    books['InStore'].at(i) = 'yes' if i % 2 ==0 else 'no'

print(books.head())


提示出错
books['ID'].at(i) = i+1
    ^
SyntaxError: can't assign to function call

wp231957 发表于 2020-2-1 12:26:00

明显代码不对啊
那是把at(i)当做函数?实际上还不是???

kinglw 发表于 2020-2-1 12:40:24

books类型是 serices,它 有个at 的函数,at 表示第几行

zltzlt 发表于 2020-2-1 12:50:53

不可以这样设置,不能用赋值操作符 = 设置函数的返回值。

XiaoPaiShen 发表于 2020-2-1 13:55:19

应该是方括号

books['ID'].at = i+1

kinglw 发表于 2020-2-1 18:53:14

本帖最后由 kinglw 于 2020-2-1 18:54 编辑

XiaoPaiShen 发表于 2020-2-1 13:55
应该是方括号

books['ID'].at = i+1

非常感谢,at 后面是采用方括号就能正常得出结果,写代码时输入错误检查时一直没发现
页: [1]
查看完整版本: can't assign to function call 如何解决