在写for循环时候出错:TypeError: ‘DataFrame’ object is not callable
for循环内我调用了DataFrame的unique函数,而在之前的一些语句内,我也定义了unique变量,两者会冲突,根据网上的一些说法,会产生命名域冲突,具体来说,就是:
在Python 的命名域机制中,可以认为存在两个命名域层,一个是 global 层,一个是 local 层。打个比方,当代码运行中遇到了变量/函数 X,那么 Python 会先在 local 层中寻找名字叫做 X 的变量/函数。因为在Python 中,函数名也可以当做一个可以被传递的变量,故而我们之后统称为变量。当 local 层中存在 X 变量时,程序会自动的使用这个local 的 X 代表的变量。如果 local 层中没有 X 的名字存在,那么 Python 会向上到 global 层中寻找。那么当local 和 global 层都存在一个叫做 X 的变量怎么办?Python 的机制是如果 local 中的变量名和 global中的变量名重复,则对 global 中的变量名进行遮蔽。也就是说,如果不在代码中加以说明进行区分的话,系统自动调用的是 local 层中的变量,而不会是 global。
https://blog.csdn.net/junbin_h/article/details/68066143
将之前定义的变量换个名字,比如我之前定义的变量叫unique,可以改为unique2,再将之前的unique变量删掉即可
uniques=chart["SUBJECT_ID"].unique()
del unique