全局数据框架未更新Python



我有此代码:

latitude = pd.DataFrame()
longitude = pd.DataFrame()
datasets = []
datasets.append(latitude)
datasets.append(longitude)
def fun(key, job):
    global latitude
    global longitude
    if(key == 'LAT'):
        latitude = job.copy()
    elif(key == 'LON'):
        longitude = job.copy()
for d in datasets:
    print(d.shape)

之后:为什么分配给我的全局变量在Python中不起作用?我已经使用了全局关键字来确保正确引用变量。但是,值未更新。有建议吗?我已经验证了if语句是正确的,因为我能够在其中打印某些内容。

输出:

(0, 0)
(0, 0)

此外,我正在使用Spyder,并且可以看到该列表包含空数据帧,并且全局变量为空。

o.k,您遇到的问题是,您可以在datasets.append(latitude)中指向某个值,当您更改global latitude latitude = job.copy()时,您会更改全局变量的值列表中的一个datasets

如果您想查看更改的值打印出latitude,并且您会发现该值已更改。或更改循环中纬度值的datasets[0]中的值。

相关内容

  • 没有找到相关文章