кодесурса
«Python

Панды: Сортировать фрейм данных сначала по «имени» в порядке убывания, а затем по «счету» в порядке возрастания

script1adsense2code
script1adsense3code

Панды: DataFrame Exercise-16 с решением

Напишите программу Pandas для сортировки фрейма данных сначала по «имени» в порядке убывания, а затем по «счету» в порядке возрастания.

Пример DataFrame :
exam_data = {'name': ['Анастасия', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
«оценка»: [12,5, 9, 16,5, np.nan, 9, 20, 14,5, np.nan, 8, 19],
«попытки»: [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
«уточнять»: [«да», «нет», «да», «нет», «нет», «да», «да», «нет», «нет», «да»]}
метки = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
Значения для каждого столбца будут:
имя: «Суреш», оценка: 15,5, попытки: 1, квалификация: «да», метка: «к»

Пример решения :

Код Python:

import pandas as pd
import numpy as np
exam_data  = {'name': ['Anastasia', 'Dima', 'Katherine', 'James', 'Emily', 'Michael', 'Matthew', 'Laura', 'Kevin', 'Jonas'],
        'score': [12.5, 9, 16.5, np.nan, 9, 20, 14.5, np.nan, 8, 19],
        'attempts': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],
        'qualify': ['yes', 'no', 'yes', 'no', 'no', 'yes', 'yes', 'no', 'no', 'yes']}
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
df = pd.DataFrame(exam_data , index=labels)
print("Orginal rows:")
print(df)
df.sort_values(by=['name', 'score'], ascending=[False, True])
print("Sort the data frame first by ‘name’ in descending order, then by ‘score’ in ascending order:")
print(df)

Пример вывода:

 Оригинальные ряды:                                                          
   попытки имя квалифицировать счет                                  
а 1 Анастасия да 12,5                                  
б 3 дима № 9,0                                  
с 2 Кэтрин да 16,5                                  
д 3 Джеймс но NaN                                  
e 2 Эмили № 9.0                                  
f 3 Майкл да 20.0                                  
г 1 Мэтью да 14,5                                  
ч 1 лаура но NaN                                  
я 2 Кевин нет 8.0                                  
J 1 Джонас да 19,0                                  
Сортируйте фрейм данных сначала по «имени» в порядке убывания, затем по «счету»
в порядке возрастания:                                                  
   попытки имя квалифицировать счет                                  
а 1 Анастасия да 12,5                                  
б 3 дима № 9,0                                  
с 2 Кэтрин да 16,5                                  
д 3 Джеймс но NaN                              
e 2 Эмили № 9.0                                  
f 3 Майкл да 20.0                                  
г 1 Мэтью да 14,5                                  
ч 1 лаура но NaN                                  
я 2 Кевин нет 8.0                                  
J 1 Джонас да 19,0                         

Редактор кода Python:


Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу Pandas для добавления новой строки 'k' в DataFrame с заданными значениями для каждого столбца. Теперь удалите новую строку и верните исходный фрейм данных.
Далее: Напишите программу Pandas для замены столбца «уточнять», содержащего значения «да» и «нет» на «Истина» и «Ложь».

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code