Шпаргалка Pandas для Data Science в Python
⚡ Розумний підсумок
Шпаргалки Pandas зібрані на одній сторінці з найуживанішими командами бібліотеки. У цьому довіднику вони групуються за завданнями: встановлення, побудова серій та кадрів даних, імпорт файлів, вибір рядків, очищення даних, застосування функцій та експорт результатів.
Що таке шпаргалка для Pandas?
Бібліотека Pandas пропонує сотні функцій, проте лише невелика їх частина використовується в повсякденній роботі. Шпаргалка про панд — це односторінковий довідник зі списком цих команд, згрупованих за завданнями, які вони виконують.
Він охоплює структури Series та DataFrame, імпорт та експорт файлів, вибір та впорядкування даних, очищення значень і застосування функцій. Кожен розділ нижче поєднує короткий опис із виконуваним кодом, тому сторінка також слугує оновленням для ваших знань. навички аналізу даних.
👉 Завантажте шпаргалку у форматі PDF тут
Як встановити та імпортувати Pandas
Дві команди налаштовують Pandas, і обидві виконуються в терміналі або Jupyter ноутбук клітина
Крок 1) Встановлення Pandas
Виконайте це один раз для кожного середовища; поставте перед цим знак оклику в клітинці блокнота.
pip install pandas
Крок 2) Імпорт Pandas
Імпортуйте пакет під псевдонімом pd, що припускається в кожному прикладі тут.
import pandas as pd
Тепер ви можете викликати функції Pandas для маніпулювання, аналізу та очищення даних. У розділах нижче вони перелічені в порядку, в якому ви їх зазвичай використовуєте.
Структури даних Pandas
Pandas має дві структури даних, Серія та DataFrameОбидва є позначеними масивами, і обидва можуть містити будь-який тип даних. Єдина відмінність полягає в розмірності: Series — це одновимірний масив, а DataFrame — це двовимірний масив, побудований з numpy масиви знизу.
| особливість | Серія | DataFrame |
|---|---|---|
| розміри | Одновимірний | Двовимірний |
| Тримає | Один позначений стовпець | Багато стовпців, змішані типи даних |
| Конструктор | pd.Серія() | pd.DataFrame() |
1. Серія
Це одновимірний позначений масив. Він може містити будь-який тип даних, і None стає відсутньою цінністю.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. DataFrame
Це двовимірний позначений масив. Він може містити будь-який тип даних та стовпці різного розміру.
data = {'RollNo' : [101, 102, 75, 99],
'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()
Наведена нижче шпаргалка для друку зібрана на одній сторінці однакові команди.
Імпорт даних
Pandas може зчитувати багато типів файлів безпосередньо в DataFrame. Кожен зчитувач нижче повертає один, і read_csv() є найбільш використовуваним.
# Import a CSV file pd pd.read_csv(filename) # Import a TSV file pd.read_table(filename) # Import a Excel file pd pd.read_excel(filename) # Import a SQL table/database pd.read_sql(query, connection_object) # Import a JSON file pd.read_json(json_string) # Import a HTML file pd.read_html(url) # From clipboard to read_table() pd.read_clipboard() # From dict pd.DataFrame(dict)
вибір
Ви можете вибирати елементи за їх розташуванням або за їхньою міткою індексу. Той самий синтаксис квадратних дужок вибирає рядки, стовпці та зрізи з обох структур.
1. Серія
# Accessing one element from Series s['D'] # Accessing all elements between two given indices s['A':'C'] # Accessing all elements from starting till given index s[:'C'] # Accessing all elements from given index till end s['B':]
2. DataFrame
# Accessing one column df df['Name'] # Accessing rows from after given row df[1:] # Accessing till before given row df[:1] # Accessing rows between two given rows df[1:2]
Вибір за допомогою логічного індексування та налаштування
Скористайтеся кнопкою iloc та iat для цілочисельних позицій, та loc та at для етикеток.
1. За посадою
df.iloc[0, 1] df.iat[0, 1]
2. За міткою
df.loc[[0], ['Name']]
3. За міткою/посадою
df.loc[2] # Both are same
df.iloc[2]
4. Логічне індексування
Булева маска зберігає лише рядки, для яких умова має значення True. У другому прикладі додано оператор NOT. ~, тому він також повертає значення, які не перевищують 1.
# Series s where value is > 1 s[(s > 0)] # Series s where value is <-2 or >1 s[(s < -2) | ~(s > 1)] # Use filter to adjust DataFrame df[df['RollNo']>100] # Set index a of Series s to 6 s['D'] = 10 s.head()
Очищення даних
Для Python Для цілей шпаргалки очищення даних ви можете виконувати такі операції:
- Перейменуйте стовпці за допомогою
rename()метод. - Оновіть значення за допомогою
at[]oriat[]метод доступу та зміни певних елементів. - Створіть копію серії або DataFrame за допомогою
copy()метод. - Перевірте наявність значень NULL за допомогою
isnull()методом, і скиньте їх за допомогоюdropna()метод. - Перевірте наявність дублікатів значень за допомогою
duplicated()метод. Викиньте їх за допомогоюdrop_duplicates()метод. - Замініть значення NULL за допомогою
fillna()метод із заданим значенням. - Замініть значення за допомогою
replace()метод. - Сортувати значення за допомогою
sort_values()метод. - Ранжуйте значення за допомогою
rank()метод.
# Renaming columns df.columns = ['a','b','c'] df.head() # Mass renaming of columns df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}) # Or use this edit in same DataFrame instead of in copy df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True) df.head() # Counting duplicates in a column df.duplicated(subset='Name') # Removing entire row that has duplicate in given column df.drop_duplicates(subset=['Name']) # You can choose which one keep - by default is first df.drop_duplicates(subset=['Name'], keep='last') # Checks for Null Values s.isnull() # Checks for non-Null Values - reverse of isnull() s.notnull() # Checks for Null Values df df.isnull() # Checks for non-Null Values - reverse of isnull() df.notnull() # Drops all rows that contain null values df.dropna() # Drops all columns that contain null values df.dropna(axis=1) # Replaces all null values with 'Guru99' df.fillna('Guru99') # Replaces all null values with the mean s.fillna(s.mean()) # Converts the datatype of the Series to float s.astype(float) # Replaces all values equal to 6 with 'Six' s.replace(6,'Six') # Replaces all 2 with 'Two' and 6 with 'Six' s.replace([2,6],['Two','Six']) # Drop from rows (axis=0) s.drop(['B', 'D']) # Drop from columns(axis=1) df.drop('Name', axis=1) # Sort by labels with axis df.sort_index() # Sort by values with axis df.sort_values(by='RollNo') # Ranking entries df.rank() # s1 is pointing to same Series as s s1 = s # s_copy of s, but not pointing same Series s_copy = s.copy() # df1 is pointing to same DataFrame as df df1 = s # df_copy of df, but not pointing same DataFrame df_copy = df.copy()
Зверніть увагу, що s1 = s створює лише другу назву для того самого об'єкта, ніколи не копію — ось чому copy() йде за ним.
Отримання інформації
Ви можете виконати такі операції для отримання інформації:
- Ввімкніть кнопку
shapeатрибут для отримання кількості рядків і стовпців. - Ввімкніть кнопку
head()ortail()метод для отримання перших або останніх кількох рядків як зразка. - Ввімкніть кнопку
info(),describe()ordtypesметод отримання інформації про тип даних, кількість, середнє значення, стандартне відхилення, мінімальне та максимальне значення. - Ввімкніть кнопку
count(),min(),max(),sum(),mean()таmedian()методи отримання конкретної статистичної інформації для значень. - Ввімкніть кнопку
loc[]метод отримання рядка. - Ввімкніть кнопку
groupby()метод застосування функції GROUP BY для групування подібних значень у стовпці DataFrame.
1. Основна інформація
# Counting all elements in Series len(s) # Counting all elements in DataFrame len(df) # Prints number of rows and columns in dataframe df.shape # Prints first 10 rows by default, if no value set df.head(10) # Prints last 10 rows by default, if no value set df.tail(10) # For counting non-Null values column-wise df.count() # For range of index df df.index # For name of attributes/columns df.columns # Index, Data Type and Memory information df.info() # Datatypes of each column df.dtypes # Summary statistics for numerical columns df.describe()
2. резюме
# For adding all values column-wise df.sum() # For min column-wise df.min() # For max column-wise df.max() # For mean value in number column df.mean() # For median value in number column df.median() # Count non-Null values s.count() # Count non-Null values df.count() # Return Series of given column df['Name'].tolist() # Name of columns df.columns.tolist() # Creating subset df[['Name', 'Course']] # Return number of values in each group df.groupby('Name').count()
Застосування функцій
apply() передає функцію на кожне значення. Правила вирівнювання потім вирішують, що відбувається, коли два об'єкти мають спільну лише частину свого індексу.
# Define function f = lambda x: x*5 # Apply this function on given Series - For each value s.apply(f) # Apply this function on given DataFrame - For each value df.apply(f)
1. Внутрішнє узгодження даних
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Арифметика Operaза допомогою методів заповнення
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Фільтрувати, сортувати та групувати за
Ці функції можна використовувати для фільтрації, сортування та групуванняping Об'єкти серії та DataFrame.
# Filter rows where column is greater than 100 df[df['RollNo']>100] # Filter rows where 70 < column < 101 df[(df['RollNo'] > 70) & (df['RollNo'] < 101)] # Sorts values in ascending order s.sort_values() # Sorts values in descending order s.sort_values(ascending=False) # Sorts values by RollNo in ascending order df.sort_values('RollNo') # Sorts values by RollNo in descending order df.sort_values('RollNo', ascending=False)
Експорт даних
Кожен записувач нижче відображає зчитувач із розділу імпорту, тому файл може здійснити весь цикл без додаткових інструментів.
# Export as a CSV file df df.to_csv(filename) # Export as a Excel file df df.to_excel(filename) # Export as a SQL table df df.to_sql(table_name, connection_object) # Export as a JSON file df.to_json(filename) # Export as a HTML table df.to_html(filename) # Write to the clipboard df.to_clipboard()
Colab Шпаргалка
Кожну команду тут можна виконати в супутньому блокноті: Шпаргалка Pandas – Python для Data Science.ipynb.

