Python 将数据帧列作为函数参数传递
我有一个叫做df的数据帧。我需要将列作为参数传递给函数 在功能之外,此代码可以工作: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.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