在Pandas Python中将数据框分配给数据框

时间:2019-02-21 05:59:58

标签: python pandas

当我将一个数据帧分配给另一个数据帧时,对一个数据帧进行更改会影响另一个数据帧

代码:

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中的值。 为什么会这样呢?如何影响呢?

1 个答案:

答案 0 :(得分:1)

使用.copy在内存中创建一个单独的数据帧:

interest_margin_data = initial_margin_data.copy()

它会在内存中创建一个不同的对象,而不仅仅是指向同一位置。

这样做是为了,如果您创建数据框的“视图”,则不需要太多的内存。它可以索引它,并使用源进行计算。

但是,您不希望这样做。