Главная страница
Навигация по странице:

  • Какие параметры можно передать этим функциям

  • вавы. Лабораторная работа 1 работа с Pandas


    Скачать 18.36 Kb.
    НазваниеЛабораторная работа 1 работа с Pandas
    Дата11.10.2022
    Размер18.36 Kb.
    Формат файлаdocx
    Имя файлаlab-1 MMO.docx
    ТипЛабораторная работа
    #726549

    Лабораторная работа 1: работа с Pandas.

    Pandas - это библиотека Python, предоставляющая широкие возможности для анализа данных. С ее помощью очень удобно загружать, обрабатывать и анализировать табличные данные с помощью SQL-подобных запросов.



    Основными структурами данных в Pandas являются классы

    Series и DataFrame. Первый из них представляет собой одномерный индексированный массив данных некоторого фиксированного типа. Второй - это двумерная структура данных, представляющая собой таблицу, каждый столбец которой содержит данные одного типа. Можно представлять её как словарь объектов типа Series.

    С помощью библиотеки Pandas займемся анализом данных.

    Будем работать с данными о клиентах банка, который интересуется, произойдет ли просрочка платежа на 90 и более дней при выдаче кредита.

    1

    Прочтите данные из файла data.csv

    Функции, которые могут пригодиться при решении:

    pd.read_csv(..., delimiter=',')

    2

    Выведите описание прочтенных данных.

    Функции, которые могут пригодиться при решении: .describe()

    # место для кода

    3

    Отобразите несколько первых и несколько последних записей.

    Функции, которые могут пригодиться при решении: . head(),

    .tail()


    Какие параметры можно передать этим функциям?

    # место для кода

    4

    Прочтите в файле DataDictionary-ru.txt, что означают столбцы матрицы. Какому типу принадлежит каждый столбец (вещественный, целый, категориальный)?

    # место для ответа

    5

    Заметьте, что столбец DebtRatio содержит неправдоподобные данные. Только значения, соответствующие известному месячному доходу, являются отношениями. Остальные абсолютные значения месячных выплат процентов.

    Исправьте данные, сделав все значения столбца DebtRatio абсолютными (умножьте их на MonthlyIncome). Чтобы ваша программа быстро работала на полных данных, постарайтесь не использовать цикл.

    7

    Вычислите средний ежемесячный доход и присвойте всем клиентам с неизвестным доходом полученное число.

    Функции, которые могут пригодиться при решении: . mean()

    Другие описательные статистики:

    https://pandas.pydata.org/pandas-docs/stable/reference/frame.html#computations-descriptive-stats

    # место для кода

    8

    Используя метод groupby, оцените вероятности невозврата кредита (SeriousDlqin2yrs=1) для различных значений количества иждивенцев (NumberOfDependents).

    Проделайте аналогичную процедуру для различных значений

    столбца NumberRealEstateLoans0rLines

    Подсказка:

    data[' столбец1'].groupby(data[' столбец2']).mean() -

    расчет средних значений столбца1 по группам из столбца2

    # место для кода

    Визуализация данных

    import matplotlib.pyplot as plt

    #

    функция, позволяющая выв…

    • plt.plot(x, y) см. подробнее

    http://matplotlib.org/api/pyplot api.html#matplotlib.py.p

    • plt.show()

    • plt.scatter (x, y) - график рассеяния, см.

    http://matplotlib.org/api/pyplot_api.html#matplotlib.pY.P

    o plt.hist() - гистограмма, см.

    http://matplotlib.org/api/pyplot api.html#matplotlib.P.P

    • Рисование нескольких графиков на одном:

    fig, ax = plt.subplots() ax.hist(...)

    ax.hist(...) plt.show()

    • Логарифмическая шкала:

    o ax. set_xscale ('log') или ax.set_yscale('log")

    • Ограничение области графика:

    o ax.axis([x1, x2, y1, y2])

    9a

    Постройте график рассеяния на осях ае и Debt. Синим отметьте клиентов без серьезных задолженностей (SeriousDlqin2yrs =

    0) и красным - должников (SeriousDlgin2vrs = 1).

    # место для кода

    9b

    Постройте на одном графике две нормированные плотности распределения: красную - для месячного дохода клиентов с задолженностями, синюю - для месячного дохода клиентов без задолженностей. По оси абсцисс отобразите значения до 25000.

    # место для кода


    написать администратору сайта