在 Python(尤其是 pandas、numpy)里,
一个函数或方法可能:

  1. 返回一个新对象(不改原来的),或
  2. 原地修改原来的对象(in-place 修改)

判断方法

方法 1:看参数里有没有 inplace=

很多 pandas 的方法(例如 dropna()sort_values()fillna()
都有一个 inplace 参数。

  • inplace=False(默认) → 返回新对象,原变量不变
  • inplace=True → 原地修改,不返回新对象

举例:

df.dropna()               # 不改 df
df.dropna(inplace=True)   # 改 df 本身

如果函数文档里有 inplace 参数,那就是可选是否修改本体的函数。


方法 2:看函数名是否返回值(通过赋值测试)

你可以直接试:

result = df.dropna()
  • 如果 resultdf 是两个不同对象,说明没有改原来的。
  • 可以用 is 来检测是否同一个对象:
result is df
# False → 没有改原对象

方法 3:查看官方文档或用 help()

Python 的内置帮助非常有用:

help(df.dropna)

它会显示:

Returns a new DataFrame with NA entries dropped or None if inplace=True.

从这句可以判断“默认返回新对象”。


Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐