Pandas AI — ИИ-библиотека для работы с Big Data

Представьте, что у вас есть огромная база данных на миллиарды строк, из которой нужно вытянуть одно нужное значение. Скорее всего, даже поиск этого значения займёт приличное время, не говоря уже об обработке данных.

Представьте, что у вас есть огромная база данных на миллиарды строк, из которой нужно вытянуть одно нужное значение. Скорее всего, даже поиск этого значения займёт приличное время, не говоря уже об обработке данных.

Но что, если теперь вы можете поговорить со своей БД и просто задать нужный вопрос, а в ответ получить нужное вам значение? Именно так и работает Pandas AI!

Что такое Pandas AI

Pandas AI — это библиотека Python со встроенным генеративным искусственным интеллектом или языковой моделью. Она превращает ваши фреймы данных в собеседников. Больше никаких бесконечных часов разглядывания строк и столбцов.

Pandas AI при этом не позиционирует себя как замена Pandas. Это скорее улучшение для стандартной Pandas.

Pandas AI — это ИИ-помощник, который позволяет быстрее и глубже анализизировать данные и управлять ими.

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

Установка Pandas AI с помощью pip

Установить Pandas AI можно при помощи этой pip-команды:

    pip install pandasai

После установки нужно импортировать библиотеку pandasai и функцию LLM (Large Language Model). Пока что, в мае 2023 года, pandasai поддерживает только эту языковую модель от OpenAI.

    import pandas as pd
from pandasai import PandasAI
from pandasai.llm.openai import OpenAI

Чтобы использовать LLM, вам потребуется доступ к API OpenAI, а значит, ключ API. Для этого создайте учетную запись OpenAI.

После создания учетной записи вы получите кредит в размере $5, который можно использовать для изучения API.

После успешного импорта OpenAI в Pandas AI можно начать работу.

Используем Pandas AI

Для работы pandas_ai.run нужны два параметра:

  1. датафрейм, с которым вы работаете, 
  2. вопрос, на который вы ищете ответ.

Наш датафрейм содержит информацию о различных странах, включая их ВВП (в миллионах долларов США) и показатели индекса счастья. Он состоит из 10 строк и 3 столбцов.

    df = pd.DataFrame({
    "country": ["United States", "United Kingdom", "France", "Germany", "Italy", "Spain", "Canada", "Australia", "Japan", "China"],
    "gdp": [21400000, 2940000, 2830000, 3870000, 2160000, 1350000, 1780000, 1320000, 516000, 14000000],
    "happiness_index": [7.3, 7.2, 6.5, 7.0, 6.0, 6.3, 7.3, 7.3, 5.9, 5.0]
})


Теперь попросим Pandas AI назвать топ-5 самых счастливых стран на основе предоставленного датафрейма.

    pandas_ai = PandasAI(llm)
pandas_ai.run(df, prompt='Which are the 5 happiest countries?')


Давайте проверим, может ли он рисовать для нас графики на основе данных в датафрейме?

    pandas_ai.run(df, "Plot the histogram of countries showing for each the gpd, using different colors for each bar")

Вот, какой график построил Pandas AI:



Теперь давайте немного усложним задачу, создав новый датафрейм со значением NAN, и посмотрим, как поведёт себя Pandas AI.



Если попросить убрать значение NaN из датафрейма, Pandas AI ответит:



Однако если снова набрать df, Pandas AI удалит значения NAN из базы данных вместо со всей строкой.



Заключение

Pandas AI — это крутой инструмент, который наверняка хотя бы немного снизит порог входа в профессии дата-аналитиков и дата-саентистов.

У инструмента огромные возможности, и вы можете изучить их все, посетив их официальный репозиторий GitHub.

Однако стоимость Pandas AI зависит от ценообразования и политики OpenAI. По состоянию на май 2023 года цена составляет примерно $0,0200 за 1000 токенов за (для модели GPT-3,5-Turbo).

Также нужно помнить, что Pandas AI обрабатывает весь фрейм данных, когда вы задаёте ей вопрос. Такое ограничение подойдёт не для каждой задачи в Big Data.

Оцените статью
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.