修改python astropy表中的条目

时间:2015-09-26 17:19:37

标签: python astropy

Python新手,我不理解以下操作的结果。 我使用astropy.Table

从文件中读取了一个表
data = Table.read(image_data_file, format='ascii')

然后我创建一个新的相同的表:

data2 = data

当更改新表“data2”中的条目(或整列)时,在原始的“数据”中也会更改此项。

data2['col2'] = 0 

为什么会这样?

2 个答案:

答案 0 :(得分:1)

使用data2 = data.copy()制作副本,而不是对相同数据的引用。

答案 1 :(得分:0)

这里已多次回答,但我不记得以什么名字命名。

在python中,如果你这样做:

a = [1, 2, 3]
b = a
b.append(4)
b[2] = 5

在那时,a和b都将拥有完全相同的数据。

这是因为b = a,所以实际上,python将两个变量都指向场景后面的相同内存地址。