У меня есть набор данных, отсортированный в следующем порядке:
столбец 1
столбец 2
столбец 3
a
1
r
а
1
с
а
2
t
a
2u
a
3
v
a
3
w
b
4
x
b
4
y
b
5z
b
5
q
b
6
w
b
6
e
Я хочу, чтобы оно было отсортировано следующим образом порядок:
столбец1
столбец2
столбец3
a
1
r
a
2t
a
3
v
а
1
с
a
2
u
а
3
w
b
4x
b
5
z
b
6
w
b
4
y
b
5
q
b
6e
Мне нужен col2 чтобы быть повторяющимся, как, например, для значений col1 'a', это должно быть 1,2,3,4, а затем снова 1,2,3,4 вместо 1,1,2,2,3,3,4,4.
Я использовал следующий код, но это не так. работает:
import pandas as pd
# Creating the DataFrame
data = {
'col1': ['a', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b'],
'col2': [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6],
'col3': ['r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'q', 'w', 'e']
}
df = pd.DataFrame(data)
# Sort by col1, then reorder col2 within each group
df_sorted = df.sort_values(by=['col1', 'col2']).reset_index(drop=True)
df_sorted = df_sorted.groupby('col1', group_keys=False).apply(lambda x: x.sort_values('col2'))
# Display the sorted dataframe
print(df_sorted)
Подробнее здесь: https://stackoverflow.com/questions/791 ... er-groupby
Как сортировать фрейм данных Python Pandas в повторяющемся порядке после группировки? ⇐ Python
Программы на Python
1731654095
Anonymous
У меня есть набор данных, отсортированный в следующем порядке:
столбец 1
столбец 2
столбец 3
a
1
r
а
1
с
а
2
t
a
2u
a
3
v
a
3
w
b
4
x
b
4
y
b
5z
b
5
q
b
6
w
b
6
e
Я хочу, чтобы оно было отсортировано следующим образом порядок:
столбец1
столбец2
столбец3
a
1
r
a
2t
a
3
v
а
1
с
a
2
u
а
3
w
b
4x
b
5
z
b
6
w
b
4
y
b
5
q
b
6e
Мне нужен col2 чтобы быть повторяющимся, как, например, для значений col1 'a', это должно быть 1,2,3,4, а затем снова 1,2,3,4 вместо 1,1,2,2,3,3,4,4.
Я использовал следующий код, но это не так. работает:
import pandas as pd
# Creating the DataFrame
data = {
'col1': ['a', 'a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b', 'b', 'b'],
'col2': [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6],
'col3': ['r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'q', 'w', 'e']
}
df = pd.DataFrame(data)
# Sort by col1, then reorder col2 within each group
df_sorted = df.sort_values(by=['col1', 'col2']).reset_index(drop=True)
df_sorted = df_sorted.groupby('col1', group_keys=False).apply(lambda x: x.sort_values('col2'))
# Display the sorted dataframe
print(df_sorted)
Подробнее здесь: [url]https://stackoverflow.com/questions/79191312/how-to-sort-python-pandas-dataframe-in-repetitive-order-after-groupby[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия