Шпаргалка по Pandas для науки о данных в Python
⚡ Умное резюме
В этом справочнике наиболее часто используемые команды библиотеки Pandas собраны на одной странице. Они сгруппированы по задачам: установка, создание Series и DataFrame, импорт файлов, выбор строк, очистка данных, применение функций и экспорт результатов.

Что такое шпаргалка по 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.Серия() | пд.DataFrame() |
1. Серии
Это одномерный помеченный массив. Он может содержать данные любого типа, и None становится пропущенным значением.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. Кадр данных
Это двумерный помеченный массив. Он может содержать данные любого типа и столбцы разных размеров.
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. Кадр данных
# 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. Логическое индексирование
Логическая маска сохраняет только те строки, в которых условие истинно. Во втором примере добавлен оператор 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[]метод доступа и изменения определенных элементов. - Создайте копию объекта Series или 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
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Фильтровать, сортировать и группировать по
Эти функции можно использовать для фильтрации, сортировки и группировки.ping Объекты Series и 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
Все приведенные здесь команды можно выполнить в сопутствующем блокноте: Шпаргалка по пандам – Python для Data Science.ipynb.

