У меня есть этот фрейм данных:
df = pd.DataFrame({'A': {0: '1', 1: '2', 2: '4', 3: '7', 4: '7'},
'B': {0: 'S', 1: 'S', 2: 'D', 3: 'D', 4: 'S'},
'C': {0: 'XX', 1: 'WX', 2: 'WX', 3: 'XX', 4: 'XW'},
'Location': {0: '32', 1: '63', 2: '32', 3: '42', 4: '42'}})
И я создал эту функцию:
def Transformation(df_, col_names):
# function code (irrelevant for the problem statement)
df_.groupby([col_names,"Location"]) # the line problem
# function code (irrelevant for the problem statement)
return df_ # (irrelevant for the problem statement)
Transformation(z, ["A", "B"]) # How you call the function. col_names has to be more than 1.
# the line problem
выше: Как я могу объединить col_names
с "Location"
в аргументе groupby ? Можно предположить, что dimensions
всегда задается в виде списка строк с несколькими элементами, например:
Transformation(df, ["A", "B"])
Transformation(df, ["C", "A"])
Transformation(df, ["A", "B", "C", "D"]) # You can assume that the whole abecedary is in the columns of `df` and you can combine them as you wish, but for minimal example purposes I think two is enough
"Location"
не может go внутри аргументов dimensions
(для функции), если вы сделаете это, функция выдаст ошибку. Итак, предположим, что "Location"
никогда не входит во входные аргументы, а добавляется где-то в коде функции, и когда я добавляю "Location"
, я сталкиваюсь с проблемой.
Один из Подходы, которые я использовал, и я не понимаю, почему не работает:
df_.groupby(col_names.append("Location"))
Что привело меня к:
x = ["A","B", "C"]
x_aux = x.append("Location")
x_aux # gives "None"
НО!:
x = ["A","B", "C"]
x.append("Location")
x # gives ["A","B", "C", "Location"]
Почему это случается? Любые предложения по объединению внутри функции groupby ?