sinaptik-ai/pandas-ai

★ 23,806⑂ 0

Chat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG.

About sinaptik-ai/pandas-ai

sinaptik-ai/pandas-ai is an open-source project on GitHub, mainly written in Python. Chat with your database or your datalake (SQL, CSV, parquet). PandasAI makes data analysis conversational using LLMs and RAG. It currently holds 23,806 stars and 0 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the AI Models & LLM Tools board.

GitHub Repository Details

Repository sinaptik-ai/pandas-ai · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

PandasAI

Release CI CD Coverage Discord Downloads License: MIT Open in Colab

PandasAI is a Python library that makes it easy to ask questions to your data in natural language. It helps non-technical users to interact with their data in a more natural way, and it helps technical users to save time, and effort when working with data.

🔧 Getting started

You can find the full documentation for PandasAI here.

📚 Using the library

Python Requirements

Python version 3.8+ <=3.11

📦 Installation

You can install the PandasAI library using pip or poetry.

With pip:

pip install pandasai
pip install pandasai-litellm

With poetry:

poetry add pandasai
poetry add pandasai-litellm

💻 Usage

Ask questions

import pandasai as pai
from pandasai_litellm.litellm import LiteLLM

Initialize LiteLLM with your OpenAI model

llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY")

Configure PandasAI to use this LLM

pai.config.set({ "llm": llm })

Load your data

df = pai.read_csv("data/companies.csv")

response = df.chat("What is the average revenue by region?") print(response)

---

Or you can ask more complex questions:

df.chat(
    "What is the total sales for the top 3 countries by sales?"
)
The total sales for the top 3 countries by sales is 16500.

Visualize charts

You can also ask PandasAI to generate charts for you:

df.chat(
    "Plot the histogram of countries showing for each one the gdp. Use different colors for each bar",
)
Chart

Multiple DataFrames

You can also pass in multiple dataframes to PandasAI and ask questions relating them.

import pandasai as pai
from pandasai_litellm.litellm import LiteLLM

Initialize LiteLLM with your OpenAI model

llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY")

Configure PandasAI to use this LLM

pai.config.set({ "llm": llm })

employees_data = { 'EmployeeID': [1, 2, 3, 4, 5], 'Name': ['John', 'Emma', 'Liam', 'Olivia', 'William'], 'Department': ['HR', 'Sales', 'IT', 'Marketing', 'Finance'] }

salaries_data = { 'EmployeeID': [1, 2, 3, 4, 5], 'Salary': [5000, 6000, 4500, 7000, 5500] }

employees_df = pai.DataFrame(employees_data) salaries_df = pai.DataFrame(salaries_data)

pai.chat("Who gets paid the most?", employees_df, salaries_df)

Olivia gets paid the most.

Docker Sandbox

You can run PandasAI in a Docker sandbox, providing a secure, isolated environment to execute code safely and mitigate the risk of malicious attacks.

Python Requirements
pip install "pandasai-docker"
Usage
import pandasai as pai
from pandasai_docker import DockerSandbox
from pandasai_litellm.litellm import LiteLLM

Initialize LiteLLM with your OpenAI model

llm = LiteLLM(model="gpt-4.1-mini", api_key="YOUR_OPENAI_API_KEY")

Configure PandasAI to use this LLM

pai.config.set({ "llm": llm })

Initialize the sandbox

sandbox = DockerSandbox() sandbox.start()

employees_data = { 'EmployeeID': [1, 2, 3, 4, 5], 'Name': ['John', 'Emma', 'Liam', 'Olivia', 'William'], 'Department': ['HR', 'Sales', 'IT', 'Marketing', 'Finance'] }

salaries_data = { 'EmployeeID': [1, 2, 3, 4, 5], 'Salary': [5000, 6000, 4500, 7000, 5500] }

employees_df = pai.DataFrame(employees_data) salaries_df = pai.DataFrame(salaries_data)

pai.chat("Who gets paid the most?", employees_df, salaries_df, sandbox=sandbox)

Don't forget to stop the sandbox when done

sandbox.stop()
Olivia gets paid the most.

You can find more examples in the examples directory.

📜 License

PandasAI is available under the MIT expat license, except for the pandasai/ee directory of this repository, which has its license here.

If you are interested in managed PandasAI Cloud or self-hosted Enterprise Offering, contact us.

Resources

🤝 Contributing

Contributions are welcome! Please check the outstanding issues and feel free to open a pull request. For more information, please check out the contributing guidelines.

Thank you!

Contributors

GitHub Stars & Activity

23,806Stars
0Forks
0Open issues
PythonLanguage

GitHub Popularity

GitHub stars23,806
Forks0
Open issues0
Primary languagePython
License-
Stars gained today0
Created-
Last pushed-

Trending History

Trending statusnot on today's boards

Related AI Projects

1

huggingface / transformers

Python★ 166,453⑂ 0
2

TauricResearch / TradingAgents

Python★ 107,797⑂ 0
3

PaddlePaddle / PaddleOCR

Python★ 89,891⑂ 0
4

unslothai / unsloth

Python★ 76,497⑂ 0
5

hiyouga / LlamaFactory

Python★ 74,932⑂ 0
6

headroomlabs-ai / headroom

Python★ 73,265⑂ 0
7

ZhuLinsen / daily_stock_analysis

Python★ 65,382⑂ 0
8

BerriAI / litellm

Python★ 59,247⑂ 0

More AI Rankings