我正在从一个函数调用另一个函数,该函数返回一个数据框,该数据框每次都返回一个新的数据框,并将其分配给变量test_1。在同一个函数中,我第二次调用另一个函数,并将返回的数据帧分配给另一个test_2。当我同时打印test_1和test_2时,它们都是相同的数据框。
这是我的代码:
def population(count, curve_set_origin):
test = []
test_1 = individual(1, curve_set_origin)
print(test_1)
test_2 = individual(2, curve_set_origin)
print(test_2)
print([test_1, test_2])
return test
在第4行,test_1返回的数据帧与第6行的test_2返回的数据帧不同,但在第7行,test_1和test_2中的数据帧相同。
# Individual
def individual(name, curve_set_origin):
new_curve = pd.DataFrame
curve_set_origin.iloc[:,9:] = curve_set_origin.iloc[:,9:].apply(lambda x: x.apply(lambda y: y + get_random() if y != 0 else 0), axis=1)
new_curve = curve_set_origin
new_curve['name'] = name
return new_curve
# Define random number between XX and XX with 4 decimal
def get_random():
while True:
val = float(random.randrange(-9999, 9999)/10**(random.randint(5,9)))
if val != 0:
return val
curve_set_origin
是一个数据框。