小编Mik*_*ruz的帖子

python pandas中的DataFrame.apply改变了原始和重复的DataFrame

我在更改重复的pandas DataFrame时遇到了一些麻烦,并且没有将编辑应用于重复原始DataFrame.

这是一个例子.假设我从字典列表中创建一个任意DataFrame:

In [67]: d = [{'a':3, 'b':5}, {'a':1, 'b':1}]

In [68]: d = DataFrame(d)

In [69]: d

Out[69]: 
   a  b
0  3  5
1  1  1
Run Code Online (Sandbox Code Playgroud)

然后我将'd'数据帧分配给变量'e',并使用apply将一些任意数学运算应用于'a'列:

In [70]: e = d

In [71]: e['a'] = e['a'].apply(lambda x: x + 1)
Run Code Online (Sandbox Code Playgroud)

问题出现了,apply函数显然适用于重复的DataFrame'e'和原始的DataFrame'd',我不能在生活中弄清楚:

In [72]: e # duplicate DataFrame
Out[72]: 
   a  b
0  4  5
1  2  1

In [73]: d # original DataFrame, notice the alterations to frame 'e' were also applied
Out[73]:  
   a  b
0 …
Run Code Online (Sandbox Code Playgroud)

python pandas

5
推荐指数
1
解决办法
5199
查看次数

标签 统计

pandas ×1

python ×1