Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数据帧列作为函数参数传递_Python_Pandas_Function_Dataframe - Fatal编程技术网

Python 将数据帧列作为函数参数传递

Python 将数据帧列作为函数参数传递,python,pandas,function,dataframe,Python,Pandas,Function,Dataframe,我有一个叫做df的数据帧。我需要将列作为参数传递给函数 在功能之外,此代码可以工作: df.colname.fillna(method='ffill') 如果我使用以下代码(即函数内的同一行,并将df.colname作为参数传递(colname=df.colname),则该代码不起作用。该行将被忽略: def Funct (colname): colname.fillna(method='ffill') 这是有效的(colname=df.colname): 发生了什么

我有一个叫做df的数据帧。我需要将列作为参数传递给函数

在功能之外,此代码可以工作:

df.colname.fillna(method='ffill')

如果我使用以下代码(即函数内的同一行,并将df.colname作为参数传递(colname=df.colname),则该代码不起作用。该行将被忽略:

   def Funct (colname):
    
    colname.fillna(method='ffill')

这是有效的(colname=df.colname):

发生了什么事

函数是否将dataframe对象更改为数组?这是否会使代码效率低下?是否有更好的方法

(注意:这是一个更大的函数的一部分,为了简单起见,我在这里对其进行了解释)

fillna()
默认情况下不会就地更新数据帧,而是希望您重新分配它,例如

def Funct(colname):
    return colname.fillna(method='ffill')

df = Funct(df)
值得一提的是,
fillna()
确实有一个参数
inplace=
,如果需要就地更新,可以将该参数设置为
True

fillna()
默认情况下不会就地更新数据帧,而是希望您将其重新分配,例如

def Funct(colname):
    return colname.fillna(method='ffill')

df = Funct(df)
值得一提的是,
fillna()
确实有一个参数
inplace=
,如果需要就地更新,可以将该参数设置为
True