Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 将apply函数用于带参数的dataframe_Python_Python 3.x_Pandas_Dataframe_Apply - Fatal编程技术网

Python 将apply函数用于带参数的dataframe

Python 将apply函数用于带参数的dataframe,python,python-3.x,pandas,dataframe,apply,Python,Python 3.x,Pandas,Dataframe,Apply,我创建了一个函数来获取字符串数据类型的列,并确保字符串中的第一项始终大写。以下是我的功能: def myfunc(df, col): transformed_df = df[col][0].capitalize() + df[col][1:] return transformed_df def myfunc(col): return col.str[0].str.capitalize() + col.str[1:] 在我的数据框中使用我感兴趣的列中的我的函数: d

我创建了一个函数来获取字符串数据类型的列,并确保字符串中的第一项始终大写。以下是我的功能:

def myfunc(df, col):
     transformed_df = df[col][0].capitalize() + df[col][1:]
     return transformed_df
def myfunc(col):
    return col.str[0].str.capitalize() + col.str[1:]
在我的数据框中使用我感兴趣的列中的我的函数:

df["mycol"].apply(myfunc)
我不知道为什么会出现这样的错误:TypeError:myfunc缺少1个必需的位置参数:“col”

甚至添加axis来表示它应该按列处理它。我相信我已经在传递我的论点,为什么我还需要再次指定col?如果我错了,请纠正我

非常感谢您的输入

如果使用,则序列的每个值都将单独处理,因此需要:

def myfunc(val):
     return val[0].capitalize() + val[1:]
如果要使用字符串函数:

df["mycol"].str[0].str.capitalize() + df["mycol"].str[1:]
如果希望传递到功能:

def myfunc(df, col):
     transformed_df = df[col][0].capitalize() + df[col][1:]
     return transformed_df
def myfunc(col):
    return col.str[0].str.capitalize() + col.str[1:]
然后用于处理系列:

df["mycol"].pipe(myfunc)
或:


杰出的谢谢你的见解。我真傻。