Вступ до Pandas.Dropna ()
Бібліотека з відкритим кодом Python Pandas, безсумнівно, є найбільш широко використовуваною бібліотекою для вивчення даних та аналізу даних. Це також кращий пакет для спеціальних операцій з обробки даних. Заслуга кредитів полягає у надзвичайно гнучкому представленні даних за допомогою DataFrames та арсеналу функцій, що піддаються маніпулюванню даними, наявними в цих кадрах даних. Будь-які проблеми з даними в реальному житті призведуть до видачі відсутніх даних, і обов'язково належним чином буде опікуватися такими точками даних. Ця функція підтримується функцією Pandas.Dropna () .
Що саме таке Pandas.Dropna ()?
Сторінку Pydata можна віднести для офіційного визначення функції.
Показаний заголовок функції виглядає наступним чином (разом із значеннями параметрів за замовчуванням):
DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)
Параметри (за винятком self, (сам об'єкт кадру даних)), показані у визначенні функції, є такими:
- вісь: вона посилається на орієнтацію (рядок або стовпець), в яку потрапляють дані. Можливі значення - 0 або 1 (також "індекс" або "стовпці" відповідно). 0 / "індекс" являє собою рядки, що випадають, а 1 / "стовпці" являють собою випадаючі стовпці.
- як: Вказує сценарій, у якому стовпець / рядок, що містить нульове значення, повинен бути відхилений. Значення "будь-які" або "всі". "all" випадає рядка / стовпця, лише якщо всі значення в рядку / стовпці є нульовими. 'будь-який' видаляє рядок / стовпець, коли принаймні одне значення рядка / стовпця є нульовим.
- thresh: Вказує мінімальну кількість значень, що не належать до NA, у рядку / стовпці, щоб воно було враховано у кінцевому результаті. Будь-який рядок / стовпець із числом значень, що не належать до NA, <значення thresh, видаляється незалежно від інших переданих параметрів. Коли thresh = немає, цей фільтр ігнорується.
- підмножина: ось визначає, чи потрібно скидати рядки / стовпці. підмножина містить список стовпців / рядків відповідно (протилежно осі), в яких слід шукати значення null / NA замість цілого списку стовпців / рядків відповідно.
- inplace: Як хороша практика, оригінальний DataFrame (або представлення даних) не змінюється, а повертається окрема копія зі змінами (тобто скинутими рядками / стовпцями). атрибут inplace дає вам можливість змінювати саму структуру вихідних даних.
Тепер, коли ми маємо загальне уявлення про параметри, які піддаються dropna (), давайте подивимося на деякі можливі сценарії відсутніх даних і як ми їх вирішуємо.
Приклад використання випадків Pandas.Dropna ()
Нижче наведено приклади pandas.dropna ():
Імпорт панд: Щоб використовувати Dropna (), повинен бути DataFrame. Щоб створити DataFrame, бібліотеку панди потрібно імпортувати (тут не дивно). Ми імпортуємо його з псевдонімом pd для посилання на об'єкти в модулі зручно. Для визначення нульових значень ми будемо дотримуватися numpy.nan. Таким чином, ми імпортуємо бібліотеку numpy з псевдонімом np:
Код:
In (1): import pandas as pd
In (2): import numpy as np
1. Створіть об'єкт DataFrame для маніпуляції
Після імпорту панд усі методи, функції та конструктори доступні у вашому робочому просторі. Тож давайте створимо DataFrame, який може допомогти нам продемонструвати використання dropna ().
Код:
In (3): df = pd.DataFrame(
('Company':('Google', 'Amazon', 'Infosys', 'Directi'),
'Age':('21', '23', '38', '22'),
'NetWorth ($ bn)':(300, np.nan, np.nan, 1.3),
'Founder':(np.nan, np.nan, np.nan, np.nan),
'Headquarter-Country':('United States', np.nan, 'India', 'India') ))
In (4): print(df)
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
1 Amazon 23 NaN NaN NaN
2 Infosys 38 NaN NaN India
3 Directi 22 1.3 NaN India
Надрукованими DataFrame будуть маніпулювати на нашій демонстрації нижче.
2. Випадання рядків проти стовпців
Параметр осі використовується для опускання рядків або стовпців, як показано нижче:
Код:
In (5): df.dropna(axis=1)
Вихід:
Out(5):
Company Age
0 Google 21
1 Amazon 23
2 Infosys 38
3 Directi 22
Будь-який стовпець, що містить щонайменше 1 NaN як значення комірки, опускається. Подивимося, як будуть працювати рядки (вісь = 0).
Примітка . Це поведінка за замовчуванням, коли вісь чітко не вказана.
Код:
In (6): df.dropna(axis=0)
Вихід:
Out(6):
Empty DataFrame
Columns: (Company, Age, NetWorth ($ bn), Founder, Headquarter-Country) Index: ()
Хм, так що даних у поверненій DataFrame більше немає! Очевидно, це не призначена поведінка. Подивимося, як це виправити.
3. Використання атрибута підмножини
Попередні операції випадали на основі всіх стовпців, коли вісь = 0. Оскільки Засновник стовпця має лише нульові значення, усі рядки випадають. Вкажіть стовпець, який буде використовуватися для фільтрації:
Код:
In (7): df.dropna(axis=0, subset=('NetWorth ($ bn)'))
Вихід:
Out(7):
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
3 Directi 22 1.3 NaN India
Тепер, як ми бачимо, скидаються лише записи з Nanvalue у стовпці Networth. Повернуту DataFrame можна знову змінити, застосувавши dropna () ще раз, щоб відфільтрувати стовпці, проходячи вісь = 1.
4. Використання параметра "Параметри"
За замовчуванням dropna () скидає повний рядок / стовпець, навіть якщо відсутнє лише 1 значення. Швидке відкриття на зворотному боці - це падіння лише тоді, коли всі значення в рядку / стовпці є недійсними. Це досягається, встановивши how = 'all', а не how = 'any' (поведінка за замовчуванням).
Код:
In (8): df.dropna(axis=1, how='all')
Вихід:
Out(8):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India
Тепер отриманий DataFrame може бути використаний для випадання рядків / стовпців з більш складною логікою, якщо потрібно.
5. Отримання контролю через молоту
Параметр thresh, мабуть, є найпотужнішим інструментом у відповідній комбінації з рештою.
Код:
In (17): df.dropna(axis=1, thresh=2)
Вихід:
Out(17):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India
Якщо встановити вісь = 1 і thresh = 2, зберігаються лише ті стовпці, що мають принаймні 2 значення, що не мають NaN.
Висновок
Наведені вище приклади спрощені за своєю суттю, але є досить потужними, щоб вирішити більшість проблем, які можуть натрапити на реальні ситуації. Незважаючи на це, слід практикувати комбінування різних параметрів, щоб мати чітко зрозуміле їх використання та швидкість побудови в їх застосуванні.
Рекомендовані статті
Це путівник по Pandas.Dropna (). Тут ми обговорюємо, що таке Pandas.Dropna (), параметри та приклади. Ви також можете ознайомитись з іншими пов'язаними з нами статтями, щоб дізнатися більше -
- Що таке панди
- NLP в Python
- Анотація класу з Python
- Факторський в Python
- Факторна програма в JavaScript