Я хочу создать функцию по умолчанию sorts_by
ничего. Но у пользователя есть возможность указать столбец для сортировки.
Sample df:
df= pd.DataFrame({'col1':['mary','john','patrick','michael'],
'col2':[1,2,3,4]})
print(df)
col1 col2
0 mary 1
1 john 2
2 patrick 3
3 michael 4
Функция выборки, умножает столбец на два.
Имеет аргумент sort_by
, который принимает столбец, который будет отсортирован, но я не хотел бы сортировать по умолчанию.
Мой None
вызывает ошибку.
def multiply(df,sortby=None):
# multiply column by 2
df.col2 = df.col2*2
# sort by user choice of column, default no sort
df.sort_values(by=sortby,inplace=True)
print(df)
Теперь запустив функцию:
multiply(df)
KeyError: None
Что можно поместить в эту строку: df.sort_values(by=sortby,inplace=True)
, которая по умолчанию не сортируется? Можно ли как-нибудь оставить его пустым? Я пробовал сортировать по df.index
по умолчанию, но это также невозможно.
Я знаю, что могу сделать это, возможно, добавив логический аргумент, который пользователь может указать, например, if sort==True: sort_values(by=column) else: no sorting
Но япросто хотел бы конкретно знать, возможно ли установить значение by=
по умолчанию для sort_values(by=)
, которое позволит ему оставаться не отсортированным, или, возможно, отсортированным по индексу, или с оригинальной сортировкой, введенной в функцию.
Надеюсь, у меня есть смысл. Это было немного сложно объяснить.