Один викладач якось сказав мені, що якщо пошукати аналог програміста у світі книг, то виявиться, що програмісти схожі не на підручники, а на зміст підручників: вони не пам'ятають всього, але знають, як швидко знайти те, що їм потрібно. Можливість швидко знаходити описи функцій дозволяє програмістам продуктивно працювати, не втрачаючи стану потоку. Не можна сказати, що це вичерпний список можливостей pandas, але сюди входять функції, якими я користуюся найчастіше, приклади та мої пояснення щодо ситуацій, у яких ці функції особливо корисні. Якщо ви хочете самостійно випробувати те, про що тут піде мова, завантажте набір даних Anime Recommendations Database з Kaggle. Тепер виконайте такі команди. Після цього ви маєте з'явитися можливість відтворити те, що я покажу в наступних розділах цього матеріалу. Тут я хочу розповісти про перетворення CSV-даних безпосередньо на датафрейми (в об'єкти Dataframe) Іноді при завантаженні даних формату CSV потрібно вказувати їхнє кодування (наприклад, це може виглядати як encoding='ISO-8859–1' ).Це перше, що варто спробувати зробити в тому випадку, якщо виявляється, що після завантаження даних датафрейм містить символи, що не читаються.
Завантажені CSV-дані
Існує схожа функція для завантаження даних з файлів Excel - pd.read_excel . Це може стати в нагоді тоді, коли потрібно вручну ввести в програму прості дані.
Дані, введені вручну
Копіювання датафреймів може стати в нагоді в ситуаціях, коли потрібно внести в дані зміни, але при цьому треба і зберегти оригінал.
Копія датафрейму
Під час експорту даних вони зберігаються в тій же папці, де знаходиться блокнот. Експортувати дані у вигляді файлів Excel можна за допомогою функції df.to_excel . Спочатку поговоримо про виведення перших n елементів датафрейму. Я часто виводжу деяку кількість елементів із початку датафрейму десь у блокноті.Схожу роль грає виведення кількох останніх елементів.
Дані з початку датафрейму
Дані з кінця датафрейму
Функція len(), яку тут покажу, не входить до складу pandas . Але вона добре підходить для підрахунку кількості рядків датафреймів. Результати її роботи можна зберегти в змінній та скористатися ними там, де вони потрібні. Для підрахунку кількості унікальних значень у стовпці можна скористатися такою конструкцією: У відомості про датафрейм входить загальна інформація про нього як заголовок, кількість значень, типів даних стовпців.
Відомості про датафрейм
Є ще одна функція, схожа на df.info - df.dtypes. Вона лише виводить інформацію про типи даних стовпців. Знання статистичних відомостей про датафрейм дуже корисно у ситуаціях, що він містить безліч числових значень. Наприклад, знання середнього, мінімального та максимального значень стовпця rating дає нам деяке розуміння того, як, загалом, виглядає датафрейм. Ось відповідна команда:
Статистичні відомості про датафрейм
Для того, щоб підрахувати кількість значень у конкретному стовпці, можна скористатися наступною конструкцією:
Підрахунок кількості елементів у стовпці
Це може стати в нагоді в тих випадках, коли потрібно витягувати значення стовпців у змінні x та y для навчання моделі. Тут застосовні такі команди:
Результати роботи команди anime['genre'].tolist()
Результати роботи команди anime['genre']
Поговоримо про отримання списків значень із індексу. Зверніть увагу на те, що я тут використовував датафрейм anime_modified, тому що його індексні значення виглядають цікавіше.
Результати виконання команди
Ось команда, яка дозволяє отримати список значень стовпців:
Результати виконання команди
Іноді мені доводиться додавати до датафреймів нові стовпці. Наприклад — у випадках, коли я маю тестовий та навчальний набори у двох різних датафреймах, і мені, перш ніж їх скомбінувати, треба помітити їх так, щоб потім їх можна було б розрізнити. Для цього використовується така конструкція: Це може стати в нагоді в тому випадку, якщо потрібно зберегти в новому датафреймі кілька стовпців величезного датафрейму, але при цьому не хочеться виписувати імена стовпців, які потрібно видалити.
Результат виконання команди
Цей прийом може бути корисним у тому випадку, якщо з датафрейму потрібно видалити лише кілька стовпців. Якщо видаляти потрібно багато стовпців, то це завдання може виявитися досить-таки стомлюючим, тому тут я волію користуватися можливістю, описаною в попередньому розділі.
Результати виконання команди
Для демонстрації цього прикладу самостійно створимо невеликий датафрейм, з яким зручно працювати. Найцікавіше тут - це конструкція df.sum (axis = 0), яка дозволяє отримувати суми значень різних рядків.
Результат виконання команди
Команда виду df.sum(axis=1) дозволяє підсумовувати значення стовпчиках. Схожий механізм можна застосувати і для розрахунку середніх значень. Наприклад - df.mean (axis = 0). Ця методика застосовна у ситуаціях, коли є два датафрейми з однаковими стовпцями, які потрібно скомбінувати. У цьому прикладі ми спочатку поділяємо датафрейм на дві частини, а потім знову об'єднуємо ці частини:
Датафрейм, що об'єднує df1 та df2
Функція df.merge, яку ми розглянемо, схожа на ліве з'єднання SQL. Вона застосовується тоді, коли два датафрейми потрібно об'єднати по якомусь стовпцю.
Результати виконання команди
Індексними значеннями датафрейму anime_modified є назви аніме. Зверніть увагу, як ми використовуємо ці назви для вибору конкретних стовпців.
Результати виконання команди
Ця методика відрізняється від тієї, що описана в попередньому розділі.При використанні функції df.iloc першому рядку призначається індекс 0 , другий - індекс 1 і так далі. Наступна конструкція дозволяє вибрати три перші рядки датафрейму:
Результати виконання команди
Для отримання рядків датафрейму в ситуації, коли є список значень стовпців, можна скористатися такою командою:
Результати виконання команди
Якщо нас цікавить єдине значення, можна скористатися такою конструкцією: Ця техніка нагадує отримання зрізу списку. А саме, йдеться про отримання фрагмента датафрейму, що містить рядки, що відповідають заданій конфігурації індексів.
Результати виконання команди
З датафреймів можна вибирати рядки, що відповідають заданій умові.
Результати виконання команди
Для сортування датафреймів за значенням стовпців можна скористатися функцією df.sort_values :
Результати виконання команди
Ось як підрахувати кількість записів із різними значеннями в стовпцях:
Результати виконання команди
Зверніть увагу, що тут використовується reset_index() . В іншому випадку стовпець type стає індексним стовпцем.У більшості випадків я рекомендую робити те саме. Щоб витягти з датафрейму деякі дані, немає нічого кращого, ніж зведена таблиця. Тут я серйозно відфільтрував датафрейм, що прискорило створення зведеної таблиці.
Результати виконання команди
Тут ми поговоримо про запис значення 0 у комірки, що містять значення NaN. У цьому вся прикладі ми створюємо таку ж зведену таблицю, як і раніше, але не з використання fill_value=0 . А потім використовуємо функцію fillna(0) для заміни значень NaN 0 .
Таблиця, що містить значення NaN
Результати заміни значень NaN на 0
Я використовую функцію df.sample щоразу, коли мені потрібно отримати невеликий випадковий набір рядків з великого датафрейму. Якщо використовується параметр frac=1 , то функція дозволяє отримати аналог вихідного датафрейму, рядки якого перемішані.
Результати виконання команди
Наступна конструкція дозволяє перебирати рядки датафрейму:
Результати виконання команди
Якщо ви стикаєтеся з помилкою IOPub data rate exceeded — спробуйте при запуску Jupyter Notebook скористатися наступною командою: Тут я розповів про деякі корисні прийоми використання pandas у середовищі Jupyter Notebook. Сподіваюся, моя шпаргалка стане вам у пригоді. Шановні читачі! Чи є якісь можливості pandas, без яких ви не уявляєте своєї повсякденної роботи? Дізнайтеся, як сортувати dataframe в pandas за одним або декількома стовпцями, як сортувати за зростанням та зменшенням, а також як працювати з пропущеними значеннями при сортуванні. У роботі з пандами, dataframe є основним об'єктом для зберігання та обробки даних. Як часто буває, дані приходять у «сирому» вигляді і необхідно виконати деякі дії, щоб витягти з них значну інформацію. Сортування даних - один із базових методів для аналізу та візуалізації dataframe. Цей метод дозволяє відсортувати рядки по одному або декільком стовпцям і визначити порядок сортування за спаданням або зростанням. У цій статті ми розглянемо кілька способів сортування dataframe у pandas. Ми покажемо, як використовувати методи sort_values та sort_index для сортування даних за стовпцями та індексом відповідно. Також ми опишемо параметри, які дозволяють контролювати порядок сортування та видаляти дублікати після сортування. Для розуміння цієї статті необхідно мати базове розуміння роботи з dataframe в pandas і знання Python. Якщо у вас немає досвіду роботи з pandas, ми рекомендуємо почати з офіційної документації, де ви знайдете основні концепції та приклади роботи. Однією з найважливіших етапів під час роботи з pandas є підготовка даних. які дані містяться в наборі, які типи даних є, описати основні статистичні характеристики даних. Важливо також розуміти, які викиди та помилки може містити набір, щоб потім зробити їх видалення. Після того, як дані були очищені, можна приступати до перетворення даних. враховувати, що набори повинні мати спільні ключі, щоб дані могли бути успішно об'єднані. об'єднання. Після того, як дані були очищені і перетворені, можна приступати до сортування даних. У pandas для цього використовується метод sort_values(). В результаті підготовки даних, ми отримаємо набір даних, який може бути використаний для дослідження, побудови графіків та прогнозів Добре підготовлені дані допоможуть отримати більше точні та корисні результати у роботі з pandas. Сортування за одним стовпцем є однією з найпоширеніших операцій у pandas.Синтаксис для сортування по одному стовпцю виглядає наступним чином: df.sort_values('column_name', ascending=False) У цьому прикладі sort_values() метод сортуватиме dataframe df за значенням стовпця column_name у порядку спадання. Також можна використовувати параметр ascending=True для сортування у порядку зростання. Варто зазначити, що параметр inplace може бути встановлений рівним True для того, щоб змінити сам DataFrame, а не повертати копію відсортовану. Часто потрібно відсортувати dataframe за кількома критеріями. Для цього можна використовувати метод sort_values() із передачею списку стовпців, за якими потрібно відсортувати дані. Наприклад, якщо потрібно відсортувати дані по стовпцю "Категорія" і всередині кожної категорії - по стовпцю "Ціна", можна зробити таке: import pandas as pd # створюємо dataframe data = <'Найменування': Шоколад', 'Морозиво', 'Цукерки'], 'Категорія': ['випічка', 'випічка', 'солодкості', 'молочні продукти', 'солодки'], 'Ціна': [500, 75, 250, 150, 100] >df = pd.DataFrame(data) # сортування за двома стовпцями df_sorted = df .sort_values(by=['Категорія', 'Ціна']) На цьому прикладі ми створили dataframe з товарами та їх цінами, а потім відсортували дані по стовпцю «Категорія» і всередині кожної категорії — по стовпцю «Ціна». При цьому дані сортуватимуться в порядку зростання за умовчанням. Якщо потрібно відсортувати в порядку зменшення, можна додати параметр ascending = False. Якщо потрібно відсортувати дані за кількома стовпцями, але не всі стовпці повинні бути відсортовані в одному напрямку, можна передати список кортежів.Кожен кортеж міститиме ім'я стовпця і напрямок сортування (True - для сортування в порядку зростання, False - для сортування в порядку зменшення). Наприклад, якщо потрібно відсортувати дані по стовпцю «Категорія» у порядку зростання, а по стовпцю «Ціна» — у порядку спадання, можна зробити так: сортування по двох стовпцях з різним напрямком df_sorted2 = df.sort_values(by=[('Категорія ', True), ('Ціна', False)]) Тут ми використали список кортежів, щоб вказати напрямок сортування для кожного стовпця. Спочатку сортуємо за стовпцем «Категорія» в порядку зростання, а потім по стовпцю «Ціна» в порядку зменшення. Крім сортування за значеннями, pandas є можливість відсортувати дані по індексу. Для цього використовується метод sort_index(). За умовчанням метод сортує індекс за зростанням. Якщо потрібно відсортувати за спаданням, то можна передати параметр ascending=False. import pandas as pd # створимо dataframe data = df = pd.DataFrame(data,index=['x','y','z']) # відсортуємо за індексом за зростанням # відсортуємо за індексом по спаданню df_sorted_desc = df.sort_index(ascending=False) print(df_sorted_desc) Крім того, можна сортувати лише за індексом у певній осі. Для цього необхідно вказати параметр axis, який може набувати значення 0 або 1, залежно від осі, яку потрібно відсортувати. import pandas as pd # створимо dataframe data = df = pd.DataFrame(data,index=['x','y','z']) # відсортуємо індекс по осі 1 (df_axis_sorted) Метод sort_index() можна комбінувати з методом sort_values(), щоб відсортувати dataframe за кількома стовпцями або індексами одночасно. У pandas для сортування у зворотному порядку використовується параметр ascending=False. Якщо не вказувати цей параметр при виклику методу sort_values(), сортування буде виконано в порядку зростання. Приклад: import pandas as pd # створюємо dataframe df = pd. ], 'Salary': [50000, 45000, 60000, 55000] >) # сортуємо dataframe по спаданню зарплати df_sorted = df.sort_values(by='Salary', ascending=False) print(df_sorted) У цьому прикладі ми створили dataframe, що містить інформацію про ім'я, вік і зарплату кількох співробітників, а потім відсортували його за зменшенням зарплати. Результат виконання коду: NameAgeSalary Цей приклад демонструє, як сортувати dataframe у зворотному порядку, використовуючи метод sort_values() та параметр ascending=False. Коли ми хочемо відсортувати наші DataFrame, ми стикаємося з вибором: створити новий DataFrame або змінити існуючий. Звичайно, ми можемо створити новий DataFrame і привласнити йому результат, але це може бути неефективним, особливо під час роботи з великими наборами даних. Натомість ми можемо використовувати параметр inplace. Параметр inplace є стандартним булевим значенням, яке визначає, чи будуть зміни внесені безпосередньо до вихідного DataFrame. Якщо параметр inplace встановлено в True, DataFrame змінюється замість створення нового, а функція не повертає значення. Якщо параметр inplace встановлено на False (за замовчуванням), функція повертає відсортований DataFrame, але не змінює вихідний DataFrame.Моя шпаргалка по pandas
1. Підготовка до роботи
import pandas як pd import numpy як np anime = pd.read_csv('anime-recommendations-database/anime.csv') rating = pd.read_csv('anime-recommendations-database/rating.csv') anime_modified = anime.set_index 'name')
2. Імпорт даних
▍Завантаження CSV-даних
anime = pd.read_csv('anime-recommendations-database/anime.csv')
▍ Створення датафрейму з даних, введених вручну
df = pd.DataFrame([[1,'Bob', 'Builder'], [2,'Sally', 'Baker'], [3,'Scott', 'Candle Stick Maker']], columns=[' id', 'name', 'occupation'])
▍Копіювання датафрейму
anime_copy = anime.copy(deep=True)
3. Експорт даних
▍Експорт у формат CSV
rating[:10].to_csv('saved_ratings.csv', index=False)
4. Перегляд та дослідження даних
▍Отримання n записів з початку або кінця датафрейму
anime.head(3) rating.tail(1)
▍Підрахунок кількості рядків у датафреймі
▍Підрахунок кількості унікальних значень у стовпці
len(ratings['user_id'].unique())
▍Отримання даних про датафрейм
▍Виведення статистичних відомостей про датафрейм
▍Підрахунок кількості значень
anime.type.value_counts()
5. Вилучення інформації з датафреймів
▍Створення списку або об'єкта Series на основі значень стовпця
anime['genre'].tolist() anime['genre']
▍Отримання списку значень з індексу
anime_modified.index.tolist()
▍Отримання списку значень стовпців
6. Додавання даних у датафрейм та видалення їх із нього
▍Приєднання до датафрейму нового стовпця із заданим значенням
anime['train set'] = True
▍ Створення нового датафрейму з підмножини стовпців
▍Видалення заданих стовпців
anime.drop(['anime_id', 'genre', 'members'], axis=1).head()
▍ Додавання до датафрейму рядка із сумою значень з інших рядків
df = pd.DataFrame([[1,'Bob', 8000], [2,'Sally', 9000], [3,'Scott', 20]], columns=['id','name', ' power level']) df.append(df.sum(axis=0), ignore_index=True)
7. Комбінування датафреймів
▍Конкатенація двох датафреймів
df1 = anime[0:2] df2 = anime[2:4] pd.concat([df1, df2], ignore_index=True)
▍ Злиття датафреймів
rating.merge(anime, left_on='anime_id', right_on='anime_id', suffixes=('_left', '_right'))
8. Фільтрація
▍Отримання рядків з потрібними індексними значеннями
anime_modified.loc[['Haikyuu!! Second Season','Gintama']]
▍Отримання рядків за числовими індексами
anime_modified.iloc[0:3]
▍Отримання рядків за заданими значеннями стовпців
anime[anime['type'].isin(['TV', 'Movie'])]
▍Отримання зрізу датафрейму
▍Фільтрація за значенням
9. Сортування
anime.sort_values('rating', ascending=False)
10. Агрегування
▍Функція df.groupby та підрахунок кількості записів
anime.groupby('type').count()
▍Функція df.groupby та агрегування стовпців різними способами
anime.groupby(["type"]).agg(< "rating": "sum", "episodes": "count", "name": "last" >).reset_index()
▍Створення зведеної таблиці
tmp_df = rating.copy() tmp_df.sort_values('user_id', ascending=True, inplace=True) tmp_df = tmp_df[tmp_df.user_id < 10] tmp_df = tmp_df[tmp_df. tmp_df[tmp_df.rating != -1] pd.pivot_table(tmp_df, values='rating', index=['user_id'], columns=['anime_id'], aggfunc=np.sum, fill_value=0)
11. Очищення даних
▍Запис до осередків, що містять значення NaN, якогось іншого значення
pivot = pd.pivot_table(tmp_df, values='rating', index=['user_id'], columns=['anime_id'], aggfunc=np.sum) pivot.fillna(0)
12. Інші корисні можливості
▍ Відбір випадкових зразків із набору даних
▍Перебір рядків датафрейму
for idx,row in anime[:2].iterrows(): print(idx, row)
▍Боротьба з помилкою IOPub data rate exceeded
jupyter notebook - NotebookApp.iopub_data_rate_limit=1.0e10
Підсумки
Як відсортувати dataframe в pandas
Підготовка даних
Сортування по одному стовпцю
Сортування за кількома стовпцями
Сортування за індексом
Сортування у зворотному порядку
Використання параметра inplace
Важливо, що при використанні параметра inplace результат не повертається, тому, якщо ми хочемо використовувати відсортований DataFrame для подальшої роботи, нам потрібно буде зберегти його в змінній.
- df.sort_values('column_name', ascending=True, inplace=True) — Сортування за зростанням;
- df.sort_values('column_name', ascending=False, inplace=True) — Сортування за спаданням.
Використання параметра inplace дозволяє нам змінювати вихідний DataFrame без створення нового, зменшуючи обсяг займаної пам'яті. Крім того, це дозволяє скоротити час виконання функції, особливо при роботі з великою кількістю даних.
Використання методу sort_values() з параметром ascending
Метод sort_values() у бібліотеці Pandas дозволяє відсортувати dataframe за заданими стовпцями. Сортування може бути виконане за зростанням (за умовчанням) або за спаданням. Параметр ascending може бути використаний для явної вказівки напряму сортування.
Якщо значення параметра ascending встановлено в True, то буде виконано сортування за зростанням. Якщо значення встановлено в False, то буде виконано сортування за спаданням.
Щоб відсортувати dataframe по одному або кільком стовпцям у порядку зростання, потрібно встановити параметр ascending=True:
Якщо потрібно виконати сортування за одним або декількома стовпцями в порядку зменшення, потрібно встановити параметр ascending=False:
df.sort_values(by=['column_name1', 'column_name2'], ascending=False)
У цьому прикладі dataframe буде відсортовано по стовпцю column_name1 у порядку спадання, а потім по стовпцю column_name2.
Стовпці також можуть бути відсортовані за кількома параметрами, використовуючи комбінацію параметрів by і ascending.
В цілому, використання методу sort_values() з параметром ascending дозволяє виконати сортування dataframe у зручному для аналітика порядку та зберегти результат у новому dataframe для подальшого аналізу.
Сортування за допомогою лямбда-функцій
Лямбда-функції використовуються в pandas для розширення функціональності методу .sort_values(), який відповідає за сортування за одним або декількома стовпцями. Лямбда-функція є компактним способом визначення функції за допомогою одного рядка. Вона не має імені та виконується безпосередньо на місці, де її визначення потрібне.
Якщо необхідно відсортувати заданий dataframe df за стовпцем column_name у порядку зростання, можна використовувати таку конструкцію:
df.sort_values(by=[column_name], key=lambda x: x).reset_index(drop=True)
Тут як key передається лямбда-функція, яка просто повертає кожен елемент x стовпця column_name.
Якщо потрібно виконати сортування кількох стовпців, можна передати список стовпців у параметр by. У цьому випадку необхідно задати відповідну лямбду-функцію для кожного стовпця.
Ось приклад коду, який сортує dataframe df спочатку по стовпцю col1 у порядку спадання, а потім по стовпцю col2 у порядку зростання:
key=lambda x: (-x['col1'], x['col2'])).reset_index(drop=True)
Тут як key передається кортеж із двох лямбда-функцій: перша функція сортує по стовпцю col1 у порядку спадання, а друга функція - по стовпцю col2 в порядку зростання. Зверніть увагу на те, що в першій функції передається негативне значення, щоб виконати сортування за спаданням.
Ігнорування пропущених значень
Однією із звичайних проблем при роботі з даними є те, що є пропущені значення, які можуть перешкодити при сортуванні даних.
На щастя, бібліотека Pandas має кілька методів, які дозволяють ігнорувати пропущені значення під час сортування DataFrame.
Перший підхід - використання методу dropna(), що дозволяє видалити рядки або стовпці, що містять пропущені значення. Потім можна відсортувати отриманий DataFrame так, як потрібно.
Другий підхід - використання методу na_positionякий дозволяє вказати, які значення повинні бути розташовані спочатку, а які в кінці при сортуванні. Можна вказати значення "first", щоб поставити пропущені значення на початку, або "last", щоб поставити їх наприкінці після всіх інших значень.
Третій підхід - використання параметра методу sort_values(), який називається na_last (за умовчанням він має значення True). Якщо вказати значення False, пропущені значення будуть розташовуватися на початку сортування.
У будь-якому з цих підходів важливо розуміти, яке значення немає в DataFrame, і яке значення має бути розташоване першим або останнім при сортуванні.
Використання методу sort_index()
Метод sort_index() Pandas дозволяє відсортувати DataFrame за індексом, що може бути дуже корисно в роботі з табличними даними.
Даний метод може бути застосований до DataFrame як сортування індексу рядків, так і індексу колонок. У першому випадку, DataFrame буде відсортовано відповідно до індексу рядків, у другому — з індексом колонок.
Ось як можна використовувати метод sort_index() для сортування DataFrame:
- Сортування за індексом рядків:
- df.sort_index() — сортування за зростанням індексу рядків
- df.sort_index(ascending=False) — сортування за зменшенням індексу рядків
- Сортування за індексом колонок:
- df.sort_index(axis=1) — сортування за зростанням індексу колонок
- df.sort_index(axis=1, ascending=False) — сортування зі спадання індексу колонок
Метод sort_index() має ще ряд параметрів, які можуть бути корисні під час роботи з DataFrame. Наприклад, параметр inplace=True дозволяє виконати сортування «на місці» та змінити початковий DataFrame.
Використання методу sort_index() дозволяє швидко та зручно сортувати дані в DataFrame відповідно до індексів рядків або колонок. Це дуже корисно під час роботи з великими обсягами даних.
Практичні поради щодо сортування dataframe в pandas
Сортування даних у pandas є невід'ємною частиною аналізу даних. Правильне сортування даних дозволяє зручно аналізувати, шукати та обробляти потрібну інформацію. У цій статті ми розглянемо кілька практичних порад, які допоможуть вам сортувати дані до pandas.
1. Використовуйте метод sort_values()
Метод sort_values() дозволяє відсортувати значення датафреймі по заданим стовпцям. Крім того, даний метод дозволяє сортувати дані за кількома стовпцями і задавати порядок сортування (за зростанням або зменшенням).
2. Вибирайте потрібні стовпці
Перед сортуванням даних важливо вибрати потрібні стовпці, якими будуть проходити сортування. Використовуйте метод .loc[] для вибору потрібних стовпців.
3. Обробляйте NaN-значення
NaN-значення (відсутні значення) можуть вплинути на результати сортування pandas. Тому перед сортуванням даних слід опрацювати NaN-значення. Використовуйте метод fillna() для заміни NaN-значень на потрібні значення або метод dropna() для видалення рядків з значеннями NaN.
4.Використовуйте індексацію для сортування
Використовуйте індексацію для сортування даних у pandas. Індексація дозволяє швидко та зручно вибирати потрібні дані та сортувати їх.
Сортування даних у pandas може бути здійснено різними способами. Використовуйте наведені вище практичні поради для ефективного сортування даних в pandas і зручного аналізу інформації.
Відео на тему:
Як відсортувати dataframe за зростанням по одному стовпцю?
Pandas для сортування по одному стовпцю можна використовувати метод sort_values(). Наприклад, для сортування за зростанням стовпця 'ім'я' в dataframe df необхідно виконати наступну команду: df.sort_values(by=['ім'я'])
Як відсортувати dataframe по спаданню по одному стовпцю?
Для сортування dataframe за спаданням по одному стовпцю необхідно використовувати параметр ascending=False при виклику sort_values(). Наприклад, для сортування зі спадання стовпця 'вік' у dataframe df необхідно виконати наступну команду: df.sort_values(by=['вік'], ascending=False)
Як відсортувати dataframe за кількома стовпцями, задавши пріоритет?
Для сортування dataframe за декількома стовпцями необхідно вказати їх порядок у списку, що передається в параметр by методу sort_values(). Наприклад, для сортування за зростанням спочатку за стовпцем 'ім'я', а потім по стовпцю 'вік', необхідно виконати наступну команду: df.sort_values(by=['ім'я', 'вік'])
Чи можна сортувати dataframe по шпальтах з різними типами даних?
Так, можна. Pandas автоматично визначає тип даних стовпця та застосовує відповідну логіку сортування.
Чи можна відсортувати dataframe за індексами?
Так, можна. Для сортування за індексом необхідно використати метод sort_index().Наприклад, для сортування за зростанням індексу dataframe df необхідно виконати таку команду: df.sort_index()
Як сортувати dataframe, змінивши значення NaN?
Можна використовувати параметр na_position під час виклику методу sort_values() для визначення, як оброблятимуться значення NaN. Наприклад, для сортування по стовпцю 'ім'я' з переміщенням значень NaN на початок dataframe df необхідно виконати наступну команду: df.sort_values(by=['ім'я'], na_position='first')