Pandas 数据帧copy()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-copy-method

当我们想要通过添加、删除或更新数据帧来操作数据帧而不改变数据帧时,我们可以复制并进行操作。

在本教程中,我们将学习 PandasDataFrame.copy()的方法。此方法复制数据帧的数据并返回一个新对象。下图显示了 PandasDataFrame.copy()方法的语法。

句法

DataFrame.copy(deep=True)

因素

深:代表布尔(真或假),默认为真。制作一份深度拷贝,包括数据和索引的拷贝。通过deep=False既不复制索引也不复制数据。

deep=True(默认)时,将使用调用对象的数据和索引的副本创建一个新对象。对副本数据或索引的修改不会反映在原始对象中。

deep=False时,将不复制调用对象的数据或索引而创建一个新对象(只复制对数据和索引的引用)。对原始数据的任何更改都将反映在浅拷贝中(反之亦然)。

示例 1:使用DataFrame.copy()方法复制数据帧

创建一个数据帧,并使用DataFrame.copy()方法复制该数据帧。

#importing pandas as pd
import pandas as pd
df = pd.DataFrame({'A': ['a', 'b', 'c'], 'B': ['d', 'e', 'f']})
print(df)
df1=df.copy()
print(df1)

一旦我们运行该程序,我们将获得以下输出。

A B 0 A d 1 B e 2 c f A B 0 A d 1 B e 2 c f

示例 2:使用DataFrame.copy()方法复制数据帧

让我们用另一个复制数据帧的例子来理解。

#importing pandas as pd
import pandas as pd
colors = {'first_set':  ['Green','Blue','Red'],'second_set': ['Yellow','White','Blue']}
df = pd.DataFrame(colors)
print(df)
df1=df.copy()
print(df1)

一旦我们运行该程序,我们将获得以下输出。

第一 套第二 套 0 绿黄 1 蓝白 2 红蓝 第一 套第二 套 0 绿黄 1 蓝白 2 红蓝

示例 3:使用deep=FalseDataFrame.copy()方法复制数据帧

deep=FalseDataFrame.copy()方法创建一个新对象时,对原始数据的任何更改都会反映在浅拷贝中。

import pandas as pd
colors = {'first_set':  ['Green','Blue','Red'],'second_set': ['Yellow','White','Blue']}
df = pd.DataFrame(colors)
df1=df.copy(deep=False)
df1['first_set'] = df1['first_set'].replace(['Blue'],'Green')
print(df1)
print(df)

一旦我们运行该程序,我们将获得以下输出。

第一 套第二 套 0 绿黄 1 绿白 2 红蓝 第一 套第二 套 0 绿黄 1 绿白 2 红蓝

结论

在本教程中,我们学习了 PandasDataFrame.copy() 方法。我们学习了DataFrame.copy() 方法的参数,求解了实例,以及该方法如何复制具有不同参数和这些参数差异的数据帧。