Опубликовано пн, 03/08/2021 - 19:16 пользователем Ksenia
import pandas as pd
df = pd.read_csv('/datasets/heart_labeled.csv')
target = []
for i in range(df.shape[0]):
#сохраняем в label три варианта метки для каждого экземпляра
#затем агрегируем их и сохраняем в одну
labels = df.loc[i, ['label_1', 'label_2', 'label_3']]
true_label = int (labels.mean() > 0.5)
target.append(true_label)
df['target'] = target
Опубликовано вт, 02/09/2021 - 14:41 пользователем Ksenia
1. Количество истинно положительных ответов TP
import pandas as pd
target = pd.Series([0, 1, ... 0, 1, 1])
predictions = pd.Series([1, 1 ... 1, 0, 1])
((target == 1) & (predictions == 1)).sum()
2. Количество истинно отрицательных ответов TN
((target == 0) & (predictions == 0)).sum())
3. Количество ложноположительных ответов FP
((target == 0) & (predictions == 1)).sum()
4. Количество ложноотрицательных ответов FN
((target == 1) & (predictions == 0)).sum()
Опубликовано чт, 12/17/2020 - 20:00 пользователем Ksenia
import pandas as pd
x = pd.Series([1, 2, 3, 4, 5, 6, 2, 4])
x.hist(density=True, bins=8)
Опубликовано ср, 12/02/2020 - 02:08 пользователем Ksenia
Подсчет количества:
print(len(data.query('col < 15')) / len(data))
Поиск групп с аномальными значениями и подсчет количества по группе, убираем группы с большим количеством выбросов:
df['too_many'] = data['col_how_many'] < 20
mean_stat = df.pivot_table(index="col1", values="too_many")
good_id = mean_stat.query('too_many < 0.2')
best_data = df.query('col1_id in @good_id.index')
print (len(df))
print (len(best_data))
Опубликовано ср, 12/02/2020 - 01:28 пользователем Ksenia
df.plot()
df.plot(title='Any Title')
df.plot(x='col2', y='col1', style='o', xlim=(0, 100), grid=True, figsize=(5, 5))
style='o' (точками)
style='x' (крестиками)
style='o-' (кружками и линиями)
xlim=(min, max)
grid для отображения сетки
figsize для ширины и высоты графика
Еще возможности.
Две гистограммы с помощью метода ax для plot на одной иллюстрации:
ax = df.plot(kind='hist', y='col1', histtype='step', linewidth=4, alpha=0.65, label='old_first')
Опубликовано ср, 11/25/2020 - 20:23 пользователем Ksenia
#приводим к нижнему регистру методом .lower()
df.lower()
#в Pandas метод str.lower()
df.str.lower()
#перевод в нижний регистр с сохранением в новом столбце
df['new_col_lower'] = df['col'].str.lower()
Опубликовано чт, 11/19/2020 - 09:54 пользователем Ksenia
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)
Опубликовано чт, 11/19/2020 - 09:42 пользователем Ksenia
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 - часовой формат.
Опубликовано вт, 11/17/2020 - 16:10 пользователем Ksenia
Примеры областей применения
count() Подсчет количества строк с определенным значением столбца
sum() Подсчет суммы значений какого-то столбца в выбранных строках
Опубликовано вт, 11/17/2020 - 14:58 пользователем Ksenia
df.groupby('column_to_group')['column_to_show']
Страницы