上下文:
我正在使用dataBase和dataFrames,所以我需要获取我正在提取和转换的dataFrame的一些版本,所以我决定使用.copy
函数来获取独立的DataFrames。我使用Jupyter Notebook。
展示一个可复制的示例
我正在做一件与这个例子类似的事情。
import pandas as pd
# Create DataFrame from Dictionary
technologies = {
'Courses':["Spark","PySpark","Hadoop"],
'Fee' :[20000,25000,26000],
'Duration':['30day','40days','35days'],
'Discount':[1000,2300,1500]
}
raw = pd.DataFrame(technologies)
#Copy the dataFrame to have a BackUP
df = raw.copy
print(df)
输出:
<bound method NDFrame.copy of Courses Fee Duration Discount
0 Spark 20000 30day 1000
1 PySpark 25000 40days 2300
2 Hadoop 26000 35days 1500>
在此之前,一切看起来都很好。但是当我为那个dataFrame执行一些函数时,比如dtypes,以获取dataframe的所有类型的元素。df.dtypes
输出:
AttributeError: 'function' object has no attribute 'dtypes'
2条答案
按热度按时间hmmo2u0o1#
copy是一个方法,默认情况下返回dataFrame的深副本(您可以设置deep=False以获取对同一dataFrame的引用)。
lyfkaqu12#
这里不需要使用复制功能。
您可以简单地将新数据框指定为原始数据框,这样您就可以获得两者的副本。
这不会改变原始数据集,你可以随意改变df,不会丢失任何信息。
完整示例:
运行此命令将显示我们维护了raw中的结构和数据,并将raw复制到df中