Python 如何使用现有数据帧创建新的数据帧?

Python 如何使用现有数据帧创建新的数据帧?,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据帧df。现在,我使用以下方法备份了此df: df_backup = df df.drop(df.index[indexes], inplace = True) 稍后在我的代码中,我使用以下方法从原始df中删除了一些记录: df_backup = df df.drop(df.index[indexes], inplace = True) 这些行也将从备份中删除。 看起来df\u backup只是df的一个副本。如何将两者解耦 如果我将任何内容更改为df,它不应影响df\u ba

我有一个数据帧df。现在,我使用以下方法备份了此df:

df_backup = df
df.drop(df.index[indexes], inplace = True)
稍后在我的代码中,我使用以下方法从原始df中删除了一些记录:

df_backup = df
df.drop(df.index[indexes], inplace = True)
这些行也将从备份中删除。 看起来
df\u backup
只是
df
的一个副本。如何将两者解耦


如果我将任何内容更改为
df
,它不应影响
df\u backup

您可以通过制作实际副本(副本是单独的对象)将其解耦


正如Anthony Sottile指出的,您正在创建对原始数据帧的另一个引用,而不是创建一个新对象。这意味着您可以更改
df
df\u备份
,两者都会显示该更改。他还建议,为了帮助理解这一点,
df_backup=df
不创建副本(因为python是一种引用语言),只创建指向同一对象的两个引用,这一点可能值得补充。OP似乎对此感到困惑:)也许也会澄清一些事情