Загрузка данных


import pandas as pd

data = {
    'автор': ['Пушкин', 'Лермонтов', 'Гоголь', 'Тургенев', 'Достоевский', 'Толстой', 'Чехов', 'Гоголь', 'Пушкин', 'Тургенев', 'Пушкин', 'Достоевский'],
    'произведение': ['Евгений Онегин', 'Герой нашего времени', 'Мёртвые души', 'Отцы и дети', 'Преступление и наказание', 'Война и мир', 'Вишнёвый сад', 'Шинель', 'Капитанская дочка', 'Записки охотника', 'Борис Годунов', 'Идиот'],
    'год': [1833, 1840, 1842, 1862, 1866, 1869, 1904, 1842, 1836, 1852, 1831, 1869],
    'жанр': ['роман', 'роман', 'поэма', 'роман', 'роман', 'роман', 'пьеса', 'повесть', 'роман', 'рассказ', 'драма', 'роман'],
    'объём_слов': [55000, 48000, 62000, 51000, 211000, 580000, 28000, 18000, 37000, 45000, 28000, 208000],
    'количество_глав': [8, 5, 11, 28, 6, 4, 4, 2, 14, 25, 23, 4],
    'рейтинг': [9.2, 8.9, 9.0, 8.7, 9.5, 9.8, 8.4, 8.6, 8.8, 8.3, 8.7, 9.0]
}

literature = pd.DataFrame(data)
print(literature)


print("\nЗадание 1.1")
print(literature.shape)
print(literature.columns.tolist())
print(literature.dtypes)

print(literature.head(3))

literature.info()

print(literature.describe())

print("\nЗадание 1.2")
print(literature['произведение'])

print(literature[['автор', 'произведение', 'рейтинг']])

literature.insert(5, 'число_страниц', literature['объём_слов'] // 300)
print(literature)

print(literature.iloc[2:5, 0:3])


print("\nЗадание 1.3")

print(literature[literature['год'] > 1850])

print(literature[(literature['жанр'] == 'роман') & (literature['объём_слов'] > 50000)])

print(literature[(literature['автор'] == 'Достоевский') | (literature['автор'] == 'Толстой')])

print(literature[literature['жанр'] != 'роман'][['автор', 'произведение', 'жанр']])

print(literature[(literature['рейтинг'] > 9.0) & (literature['объём_слов'] < 100000)])


print("\nЗадание 1.4")
literature.to_csv('literature.csv', index=False, encoding='utf-8')

literature_from_csv = pd.read_csv('literature.csv', encoding='utf-8')

literature_from_csv = literature_from_csv.drop(columns=['число_страниц', 'объём_слов', 'количество_глав'])

literature_from_csv.to_excel('literature_short.xlsx', index=False)