Предмет: Информатика, автор: Demonboxa2017

Добрый день !
Табличные данные
Python
Создать новый столбец height_group в таблице с пингвинами, который будет отвечать за показатель длины клюва пингвина. high - высокий(от 42), middle - средний(от 35 до 42), low - низкий(до 35).

Изобразить гистограмму по flipper_length_mm с оттенком height_group.

Дополнительное:
| Задание 44 |
| --- |
| В ячейке ниже представлен код генерирующий DataFrame, которая состоит всего из 1 столбца. Ваша задача перевести его в one hot вид. Сможете ли вы это сделать без get_dummies?

import random
lst = ['robot'] * 10
lst += ['human'] * 10
random.shuffle(lst)
data = pd.DataFrame({'whoAmI': lst})
data.head() |

Ответы

Автор ответа: TemaZpro
1

Ответ:

Установите библиотеки для Python (Win+R -> CMD):

1) pip install pandas

2) pip install matplotlib

Код на языке Python для задания с пингвинами:

import pandas as pd

import matplotlib.pyplot as plt

data = pd.read_csv('penguins.csv')

data['height_group'] = pd.cut(data['culmen_length_mm'],

                             bins=[0, 35, 42, float('inf')],

                             labels=['low', 'middle', 'high'],

                             right=False)

data.hist(column='flipper_length_mm', by='height_group', color='skyblue', alpha=0.8)

plt.suptitle('Гистограмма длины ласты пингвинов', fontsize=14)

plt.xlabel('Длина ласты (mm)')

plt.ylabel('Количество')

plt.tight_layout()

plt.show()

Код .csv файла penguins (создайте текстовый файл, измените формат на .csv и введите туда это):

species,culmen_length_mm,culmen_depth_mm,flipper_length_mm,body_mass_g

Adelie,39.1,18.7,181,3750

Adelie,39.5,17.4,186,3800

Adelie,40.3,18.0,195,3250

Chinstrap,50.4,15.3,200,4200

Chinstrap,51.3,16.8,193,3550

Gentoo,45.6,14.3,212,5200

Gentoo,46.0,14.8,215,5400

Gentoo,46.8,15.0,219,5500

Код на языке Python для доп. задания:

import pandas as pd

import random

lst = ['robot'] * 10

lst += ['human'] * 10

random.shuffle(lst)

data = pd.DataFrame({'whoAmI': lst})

unique_values = data['whoAmI'].unique()

for value in unique_values:

   data[value] = (data['whoAmI'] == value).astype(int)

data.drop('whoAmI', axis=1, inplace=True)

print(data.head())

Приложения:
Похожие вопросы
Предмет: География, автор: Kataret
Предмет: Математика, автор: sofi000000000