在函数里对pd dataframe 进行操作,呼叫函数为何无效

问题遇到的现象和发生背景

定义一个函数对df进行操作,例如

def select_positive(df):
df = df[df['col_name']>0]

运行函数后希望将df替换为col_name列大于0的新df,但是df并没有被改变。

目前只能采用 return 新的df来达到相同的效果,但是还是无法直接在函数内对df进行操作

可以运行的代码:
def select_positive(df):
return df[df['col_name']>0]
df = select_positive(df)

img


上面的是变量,下面的是字符串,不是同一个东西。