当我将一个数据帧分配给另一个数据帧时,对一个数据帧进行更改会影响另一个数据帧
代码:
interest_margin_data = initial_margin_data
interest_margin_data['spanReq'] = (interest_margin_data['spanReq']*interest_margin_data['currency'].map(interestrate_dict))/(360*100*interest_margin_data['currency'].map(currency_dict))
initial_margin_data['spanReq'] /= initial_margin_data['currency'].map(currency_dict)
第二行也更改了initial_margin_data中的值。 为什么会这样呢?如何影响呢?
答案 0 :(得分:1)
使用.copy
在内存中创建一个单独的数据帧:
interest_margin_data = initial_margin_data.copy()
它会在内存中创建一个不同的对象,而不仅仅是指向同一位置。
这样做是为了,如果您创建数据框的“视图”,则不需要太多的内存。它可以索引它,并使用源进行计算。
但是,您不希望这样做。