Я борюсь с определенным видом, который мне не удается реализовать в Python.
Вот пример кадра данных
import pandas as pd
data = {
'product': ['A', 'A', 'A', 'B', 'B', 'B'],
'quantity': [0, 1, 2, 0, 1, 2],
'cost': [0, 5, 3, 2, 4, 4]
}
df = pd.DataFrame(data)
Я бы хотел, чтобы кадр данных был отсортирован по стоимости ASC «по возможности», но количество должно быть заказано строго по ASC для каждого продукта.
Таким образом, результат будет таким.
продукт
количество
стоимость
A
0
0
B
0
2< /td>
B
1
4
B
2
4
A
1
5
A
2
< td>3
Здесь мы видим, что стоимость равна строго не упорядочен ASC (см. строку 5).
Но это единственный способ упорядочить набор данных, соблюдая порядок количества внутри продукта.
Я тщательно пробовал несколько способов искал на форумах и спрашивал ChatGPT, но пока безуспешно.
import pandas as pd
# Exemple de DataFrame
data = {
'product': ['A', 'A', 'A', 'B', 'B', 'B'],
'quantity': [0, 1, 2, 0, 1, 2],
'cost': [0, 5, 3, 2, 4, 6]
}
df = pd.DataFrame(data)
# Trier d'abord par 'produit' et 'quantité' croissante
df_sorted = df.sort_values(by=['product', 'cost'])
# Ensuite, trier par 'gain' décroissant avec un tri stable pour maintenir l'ordre précédent
df_sorted = df_sorted.sort_values(by='quantity', ascending=True, kind='mergesort')
print(df_sorted)
Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-pandas
Сортировка DataFrame по нескольким условиям в Pandas ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Фильтровать DataFrame pandas по нескольким пороговым значениям, определенным в словаре
Anonymous » » в форуме Python - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как применить функцию к нескольким столбцам в DataFrame Pandas за один раз
Anonymous » » в форуме Python - 0 Ответы
- 15 Просмотры
-
Последнее сообщение Anonymous
-