在使用点表示法的函数中包括列名作为参数

时间:2019-10-20 06:44:02

标签: python pandas

我想将列名作为此函数的可接受参数,以使其更加灵活。

def func(df, column):
    return df.column.str.split('', n = 5, expand=True)

如预期的那样,func(my_df, columnX)返回一个NameError: name 'columnX' is not defined

是否有解决方法?

2 个答案:

答案 0 :(得分:1)

您可以像访问字典字段一样访问您的列。另一个建议是不要将对象命名为类名称(用DataFrame替换df)。最后,您需要返回获得的对象。

def func(df, column):
    return df[column].str.split('', n = 5, expand=True)

答案 1 :(得分:0)

感谢garciparedes:

def func(df, column: str):
    return df[column].str.split('', n = 5, expand=True)

func(df, column='column')