Python Pandas – DataFrame.copy()函数

Python Pandas – DataFrame.copy()函数

Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。

在pandas中复制DataFrame有很多方法。第一种方法是将一个数据框架对象分配给一个变量的简单方法,但这有一些缺点。

语法: DataFrame.copy ( deep=True )

当deep=True(默认)时,一个新的对象将被创建,并带有调用对象的数据和索引的副本。对副本的数据或索引的修改将不会反映在原始对象中(见下面的注释)。

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

步骤 1) 让我们先做一个假数据框,我们将用它来说明问题

步骤 2)将该数据框架对象分配给一个变量

步骤3)在原始数据框架中进行修改,看看复制的变量是否有任何不同。

import pandas as pd
  
#Create Series
s = pd.Series([3,4,5],['earth','mars','jupiter'])
k = pd.Series([1,2,3],['earth','mars','jupiter'])
  
#Create DataFrame df from two series
df = pd.DataFrame({'mass':s,'diameter':k})
  
df
Python

输出:

Python Pandas - DataFrame.copy()函数

虚拟数据框架df

现在,让我们把数据框架df分配给一个变量并进行修改。

#Assign df to variable_copy
variable_copy = df
  
print(variable_copy) 
#Update the value of mass of earth in original dataframe
df['mass']['earth']=8
  
print(variable_copy)
Python

输出:

Python Pandas - DataFrame.copy()函数

在这里,我们可以看到,如果我们改变了原始数据框架中的值,那么复制的变量中的数据也会改变。为了克服这个问题,我们使用DataFrame.copy()

**让我们来看看,当deep=True(默认)时的例子: **

res = df.copy(deep=True)
print(res)
Python

输出:

Python Pandas - DataFrame.copy()函数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册