You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas DataFrame使用copy方法报错:'function'对象无dtypes属性

问题:使用pandas的.copy方法后无法访问DataFrame属性

背景

我正在处理数据库和DataFrame,需要生成提取转换后的DataFrame副本,所以打算用.copy方法创建独立的DataFrame,当前使用的是Jupyter Notebook。

可复现示例

我执行的代码如下:

import pandas as pd

# 从字典创建DataFrame
technologies = {
    'Courses':["Spark","PySpark","Hadoop"],
    'Fee' :[20000,25000,26000],
    'Duration':['30day','40days','35days'],
    'Discount':[1000,2300,1500]
              }

raw = pd.DataFrame(technologies)

# 复制DataFrame做备份
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>

此时看起来好像没问题,但当我对这个df执行dtypes这类操作时:

df.dtypes

输出:

AttributeError: 'function' object has no attribute 'dtypes'

问题原因与解决方案

问题出在df = raw.copy这一行——你没有调用copy方法,只是把方法本身赋值给了df,所以df现在是一个函数对象,而不是DataFrame。

只需要给copy加上括号,调用这个方法:

df = raw.copy()

这样df就会是raw的DataFrame副本,之后再执行df.dtypes就能正常返回各列的数据类型了。

内容的提问来源于stack exchange,提问作者mrCatlost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 07:42:04