#python #dataframe #arguments
Вопрос:
Я создал функцию, которая объединяет все фреймы данных с помощью левого соединения, и хочу, чтобы она могла принимать гибкое количество аргументов. Проблема в том, что мне нужен список всех имен фреймов данных для использования в функции reduce.Поэтому в приведенном ниже примере мне нужен all_dfs, который представляет собой список всех аргументов, переданных функции. Любая помощь была бы очень признательна.
from functools import reduce
def myfunc(*args):
result = reduce(
lambda left, right: pd.merge(left, right, on=["p_key"], how="left"),
all_dfs
)
return result
Ответ №1:
Имя, которое вы ищете, таково args
.
Комментарии:
1. args возвращали бы сами фреймы данных, а не имена фреймов данных
2. @user14128401 Я не думаю, что вы понимаете, как работают имена. Фреймы данных не имеют имен. У вас могут быть имена, указывающие на фреймы данных, или несколько имен, указывающих на один и тот же фрейм данных, но не наоборот.
3. @user14128401 работает ли ваш код, когда вы используете
args
вместоall_dfs
?4. ах да, спасибо вам за это, это действительно работает!