python

Дубликаты, .duplicated(), .drop_duplicates(), value_counts()

Для избавления от полных дубликатов duplicated() и drop_duplicates()
1) duplicated()
df.duplicated().sum()
возвращает количество дубликатов

df['col'].duplicated().sum()
возвращает количество дубликатов в столбце col

2) .value_counts()
анализирует столбец, выбирает каждое уникальное значение и подсчитывает частоту его встречаемости в списке
df['col'].value_counts()
Покажет все уникальные значения в столбце "col", а также, сколько раз встречается каждое из них.

Объединение таблиц, .merge()

JOIN, MERGE, CONCATENATE.

JOIN
how – inner, outer, right, left (по умолчанию) аналогично sql

MERGE
new_table = first_table.merge(second_table, on='column_in_both', how='left')

Допускает три способа организации построчного выравнивания:
1. on = «НАЗВАНИЕ СТОЛБЦА»

Cтолбец должен быть общим столбцом в обеих таблицах/

2. left_on = «НАЗВАНИЕ СТОЛБЦА» и right_on = «НАЗВАНИЕ СТОЛБЦА»
позволяют объединить две таблицы, используя два разных столбца

Обработка ошибок, try-except, .append(row)

*отступы могут быть отображены некорректно

Если невозможно выполнить команду в блоке try, то будет выполнена команда из блока except и следующие за ней команды.

try:
Исходный код
except:
Код при встрече с ошибкой

Пример подсчета количества строк с ошибками

name [...]
wrong_lines = 0
for row in name:
try:
...

except:
wrong_lines += 1
print ('Некорректных строк {}'.format (wrong_lines))

Пример вывода строк с ошибками с помощью .append(row)
name [...]

Сортировка .sort_values(), .sort()

1. Сортировка по столбцу методом .sort_values()
- сортировка по возрастанию
df.sort_values(by = 'col')

- сортировка по убыванию
df.sort_values('col', ascending = False)

2. Сортировка по столбцу .sort()
table.sort(key=lambda row: row[1], reverse=True)

Дата и время, to_datetime()

1. Перевод в формат datetime с помощью to_datetime()

df['target_datetime']= pd.to_datetime(df['col'], format='%d.%m.%YZ%H:%M:%S')

Если дата в формате "день, месяц, год, часы, минуты, секунды",
то %d.%m.%YZ%H:%M:%S передают в аргумент format, где:

• %d — день;
• %m — номер месяца;
• %Y — четырёхзначный номер года;
• Z — стандартный разделитель даты и времени;
• %H — номер часа;
• %M — минуты ;
• %S — секунды.

Иногда %I — номер часа, если используют 12 - часовой формат.

.loc поиск/доступ и логическая индексация по условию, логические операции

Доступ.
Ячейка .loc[1, 'col']
Cтолбец .loc[:, 'col']
Несколько столбцов .loc[:, ['col1', 'col2']]
Cтрока .loc[1]
Несколько строк подряд: .loc[3:8]

Логическая индексация по условию.
Строки целиком: df.loc[df.loc[:,'col'] == 'X']
или:
df[df['col'] == 'X']

Только столбец col2 со строками, удовлетворяющими условию в col1:
df[df['col1'] == 'X'] ['col2']

Булев массив как индекс датафрейма:
print(df[df['col1'] == 'smth'])

С другими операторами сравнения:
print(df[df['col1'] < 5])

Среднее и медиана, mean

Среднее в столбце col
name_for_mean = old_name['col'].mean()

Подсчет количества или суммы значений, count(), sum()

Примеры областей применения
count() Подсчет количества строк с определенным значением столбца
sum() Подсчет суммы значений какого-то столбца в выбранных строках

Группировка по столбцу

df.groupby('column_to_group')['column_to_show']

Подсчет строк, count()

Метод coun()

print(df[df['source_column_namel'].isnull()].count())

Вывод на экран результата подсчета строк df, в которых в столбце source_column_name нет данных

Страницы

Подписка на RSS - python