pandasai 多表查询
时间: 2025-02-18 22:32:03 浏览: 72
### 使用 PandasAI 进行多表查询
PandasAI 是一种强大的工具,能够通过自然语言处理技术简化数据的操作和分析过程[^1]。对于涉及多个表格的联合查询和操作,用户可以通过描述性的命令来实现这些功能。
为了执行多表之间的连接和其他操作,首先需要加载各个数据表至 `pandas.DataFrame` 对象中。之后,利用 Pandas 提供的标准方法如 `merge()` 或者 `join()` 可以轻松地将两个或更多 DataFrame 结合起来形成一个新的 DataFrame 表格用于进一步分析。
下面是一个简单的例子展示如何使用 PandasAI 和标准 Pandas 方法来进行两张表间的内联接(inner join),假设有一张订单详情表(order_details)和一张产品信息表(products):
```python
import pandas as pd
from pandasai import PandasAI
# 创建示例数据框 order_details 和 products
order_data = {'OrderID': [1, 2], 'ProductID': [10, 20]}
product_data = {'ProductID': [10, 20], 'ProductName': ["Item A", "Item B"]}
df_orders = pd.DataFrame(order_data)
df_products = pd.DataFrame(product_data)
# 初始化 PandasAI 实例
pandas_ai = PandasAI()
# 执行 SQL 风格的 inner join 查询
joined_df = df_orders.merge(df_products, on='ProductID')
print(joined_df)
```
在这个案例里,`merge()` 函数被用来按照共同列 ProductID 将两份数据集结合起来。这相当于 SQL 中 INNER JOIN 的效果,在这里只保留那些在两个输入 DataFrames 上都存在匹配项的记录。
如果想要更加灵活地控制连接条件或者其他方面,则可以直接向 PandasAI 输入自然语言指令:
```python
result = pandas_ai.run("Join the two tables based on their common column and show me all columns.")
print(result)
```
这段代码将会指示 PandasAI 自动识别并执行适当类型的连接,并返回包含所有原始字段的结果集合。
阅读全文
相关推荐


















