【发布时间】:2017-07-15 15:54:34
【问题描述】:
请看下面的例子:
def func(arg):
print(id(arg))
df = pd.DataFrame(arg)
print(id(df))
df['b'] = [4,5,6]
a = pd.DataFrame( {'a' : [1,2,3]})
print(a, id(a))
func(a)
print(a)
a
0 1
1 2
2 3
681924702104
681924702104
681924718944
a b
0 1 4
1 2 5
2 3 6
为什么调用函数后会发生变化?我不明白,特别是因为它们都有不同的 id。解决此问题的正确程序是什么?
【问题讨论】:
-
df = pd.DataFrame(arg); df['b'] = [4,5,6]是否修改arg?我对那门课不熟悉。 -
不确定,但1:你创建了一个新的
DataFrame对象,但它似乎修改了原始数据。
标签: python python-3.x variables object namespaces