Включение имени столбца в качестве аргумента в функцию, которая использует точечную запись - PullRequest
1 голос
/ 20 октября 2019

Я бы хотел включить имя столбца в качестве допустимого аргумента для этой функции, чтобы сделать ее более гибкой.

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

Как и ожидалось, func(my_df, columnX) возвращает NameError: name 'columnX' is not defined.

Есть ли обходной путь для этого?

Ответы [ 2 ]

1 голос
/ 20 октября 2019

Вы можете получить доступ к вашему столбцу, как если бы это было словарным полем. Другая рекомендация - не называть объект как имя класса (замените DataFrame на df). Наконец вам нужно вернуть полученный объект.

def func(df, column):
    return df[column].str.split('', n = 5, expand=True)
0 голосов
/ 20 октября 2019

Благодаря garciparedes:

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

func(df, column='column')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...