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

pandas方法链使用疑问:为什么无法链式调用get_dummies()函数?

报错根因

get_dummies() 是 pandas 库的顶层全局函数,不是 DataFrame 类的内置实例方法,两种写法的差异本质是调用对象不同:

  • 链式写法中,drop(columns=['sepal_length']) 执行后返回的是 DataFrame 对象,该对象本身没有内置 get_dummies 方法,调用不存在的方法就会触发报错。
  • 拆分写法中调用的是 pd.get_dummies(),即 pandas 模块下的全局工具函数,将预处理好的 DataFrame 作为入参传入,完全符合该函数的调用规则,因此可以正常运行。

如果你需要保持方法链的编码风格,可以通过 DataFrame 内置的 pipe 方法适配全局函数,修改后的链式写法如下:

import pandas as pd

df = (pd
     .read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
     .drop(columns=['sepal_length'])
     .pipe(pd.get_dummies)
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:27:01