Pandas

Импортировать pandas в Jupyter Notebook:
import pandas as pd

Загрузка готовых csv файлов с компьютера:
pd.read_csv('path_to_your.csv', encoding='Windows-1251', sep=';')
Он должен находится в той папке где сохранен сам файл .py

Через URL напрямую:
pd.read_csv('https://pythonua.blogger.com/myfile.csv', delimiter=';')
 
Вывод первых 5 строк, последних 5 строк, 5 случайных строк:
df.head(), df.tail(), df.sample(5)

Для вывода определенных колонок:
df[[' one', ' two']]

Объединение двух DataFrame:
data.merge(df) то же самое, что и: df.merge(data) Разница будет лишь в порядке колонок в финальной таблице.
Чтобы все значения оставались в объединенном DataFrame:
df(data, how='outer')
Для вывода информации только из одной таблицы:
how='left' или how='rigth', df.merge(data, how='left')
Для замены значения NaN на любое другое:
df.merge(data, how='left').fillna('unknown')
 
Для автоматизации важны статистические характеристики:
df['value'].mean() — cреднее
df['value'].var() — дисперсия DD
df['value'].std() — среднеквадратичное отклонение
df['value'].median() — медиана
df['value'].quantile(edges_list) — квантили
df['value'].describe() — выводит mean, std, квартили

Метод df.info() выводит на экран названия столбцов, их типы и количество заполненных ячеек.
Метод df.describe() выводит на экран статистические характеристики значений в столбцах.
Метод df['age'].unique() выводит на экран все уникальные значения в столбце age.
df[df['age'].isna()] выводит на экран все строки df с незаполненными ячейками столбца age.
df[100:130] выводит на экран строки с 100 по 129 датафрейма df.
Метод  df.pop('name') удаляет столбец name из датафрейма df.
Скопировать только нужные столбцы new_df=df[['age', 'length']].copy()
Метод .fillna(), df.fillna(df.median(), inplace=True)
заполняет пустые ячейки датафрейма df медианными значениями 

Переименовать колонки:
1. students_performance = students_performance\
                                    .rename(columns=
                                            {'parental level of education': 'parental_level_of_education',
                                            'test preparation course': 'test_preparation_course',
                                            'math score': 'math_score',
                                            'reading score': 'reading_score',
                                            'writing score': 'writing_score'})
2. students_performance.columns = [x.replace(" ", "_") for x in students_performance.columns]
3. students_performance.columns=students_performance.columns.str.replace(' ','_')
4. students_performance = students_performance.rename(columns=lambda x: x.replace(' ', '_'))

Фильтры:
df.filter(like='lunch', axis=1)
где:
like='lunch' - фильтр по ключевому слову в заголовке столбца\строки
axis=1(по столбцу), 0(по строке)

Запрос:
df.query('reading_score>90 & reading_score<100' )

Сохраняет файлы с добавление в названии текущей даты:
from datetime import datetime
today_day=datetime.today().strftime('%Y-%m-%d')
file_name='money_title_{}.csv'
file_name.format(today_day)

Удаление последнего слова в столбце таблицы:
def splite_brand(brand_name_data):
    return brand_name_data.split(' ')[-1]
brand_name='Maravilla 600 g store_brand'
user_df.brand_info.apply(splite_brand)
или
user_df.brand_info.apply(lambda x: x.split(' ')[-1])

idxmin – индекс минимального значения
idxmax – индекс максимального значения

Добавление колонки:
df.append(df2, ignore_index=True)

Группировка с подсчетом количества:
mes=mes.groupby(['borough', 'pickup_month' ], as_index=False ).agg({'pickups':'count'})

Признаки "плохого кода"

Кратко рассмотрим 12 признаков, когда код можно улучшить: 1. Duplicated Code  — иногда повторяющийся код не всегда несет в себе пользу. Выде...