【Pandas】 sql查询
2023-12-14 17:33:28
介绍
在进行数据分析时,Pandas 是一个非常流行的 Python 数据分析库。 然而,如果习惯用 SQL 从数据库检索和操作数据,Pandas 的语法有点望而生畏。 这时 pandasql 可派上用场。 该库可直接在 Pandas DataFrame 上运行 SQL 查询。
在这篇博文中,将展示如何使用 pandasql 在 Pandas DataFrame 上运行 SQL 查询。 将使用seaborn 库中的“tips”数据集作为数据集。
关于pandasql
代码
pip install pandas seaborn pandasql
``
# 代码
```python
import pandas as pd
import seaborn as sns
from pandasql import sqldf
# 从seaborn加载tips数据集
tips = sns.load_dataset('tips')
query1 = """
SELECT *
FROM tips
LIMIT 5;
"""
result1 = sqldf(query1, globals())
print(result1)
query2 = """
SELECT *
FROM df
WHERE total_bill > 30
LIMIT 5;
"""
result2 = exec_query(query2)
print(result2)
query3 = """
SELECT day, avg(total_bill)
FROM df
GROUP BY day;
"""
result3 = exec_query(query3)
print(result3)
解说
import pandas as pd
import seaborn as sns
from pandasql import sqldf
# 从seaborn加载tips数据集
tips = sns.load_dataset('tips')
导入所需的库
Seaborn 的名为“tips”的数据集包含有关在餐馆支付的小费的数据。
query = """
SELECT *
FROM tips
LIMIT 5;
"""
result = sqldf(query, globals())
print(result)
# total_bill tip sex smoker day time size
# 0 16.99 1.01 Female No Sun Dinner 2
# 1 10.34 1.66 Male No Sun Dinner 3
# 2 21.01 3.50 Male No Sun Dinner 3
# 3 23.68 3.31 Male No Sun Dinner 2
# 4 24.59 3.61 Female No Sun Dinner 4
使用 pandasql 的 sqldf() 函数来执行查询。
query2 = """
SELECT *
FROM df
WHERE total_bill > 30
LIMIT 5;
"""
result2 = exec_query(query2)
print(result2)
# total_bill tip sex smoker day time size
# 0 35.26 5.00 Female No Sun Dinner 4
# 1 39.42 7.58 Male No Sat Dinner 4
# 2 31.27 5.00 Male No Sat Dinner 3
# 3 30.40 5.60 Male No Sun Dinner 4
# 4 32.40 6.00 Male No Sun Dinner 4
可以使用 WHERE 子句进行过滤。
提取小费总额超过 30 的数据。
query3 = """
SELECT day, avg(total_bill)
FROM df
GROUP BY day;
"""
result3 = exec_query(query3)
print(result3)
# day avg(total_bill)
# 0 Fri 17.151579
# 1 Sat 20.441379
# 2 Sun 21.410000
# 3 Thur 17.682742
可以使用 GROUP BY 进行分组。
按天(一周中的某一天)分组并提取平均小费金额。
周六和周日的小费往往较高。
综上所述
pandasql 是使用 SQL 查询 Pandas DataFrame 的强大工具。 对于熟悉 SQL 的数据分析师和数据科学家来说,这个库可以让 Pandas 的使用更加直观。
在这篇博文中,介绍了 pandasql 的基本用法以及使用 seaborn Tips 数据集的示例。 这能够学习如何轻松地针对 Pandas DataFrame 运行 SQL 查询。
请尝试使用 pandasql 来简化您的数据分析工作!
文章来源:https://blog.csdn.net/Allan_lam/article/details/134964931
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!