当前位置: 首页 > news >正文

优化网站规模网站copyright写法

优化网站规模,网站copyright写法,佛山品牌推广,违章建设举报网站Pandas和SQL都是强大的数据分析工具,但如果我们能将它们结合起来呢?借助 pandasql,你可以在Jupyter Notebook中直接编写SQL语句。这种集成让我们能够无缝结合SQL逻辑和Python,从而更高效地完成数据分析。在本文中,我们…

Pandas和SQL都是强大的数据分析工具,但如果我们能将它们结合起来呢?借助 pandasql,你可以在Jupyter Notebook中直接编写SQL语句。这种集成让我们能够无缝结合SQL逻辑和Python,从而更高效地完成数据分析。

在本文中,我们将结合使用Pandas和SQL,对一个来自Uber的数据项目进行分析。让我们开始吧!


什么是pandasql?

Pandasql通过内存中的SQLite引擎与任意DataFrame集成,因此你可以在Python环境中直接编写纯 SQL。


同时使用Pandas和SQL的优势

  • SQL 可轻松实现数据筛选、聚合,或多条件逻辑。
  • Python 则提供了高级统计分析、定制计算以及SQL之外的集合运算能力。

当二者结合时,SQL简化数据筛选,而Python增强了分析灵活性。


在Jupyter Notebook中运行pandasql

要在Jupyter Notebook中运行pandasql,可以先使用如下代码:

import pandas as pd
from pandasql import sqldf
run = lambda q: sqldf(q, globals())

然后,你可以像这样运行SQL:

run("""
SELECT *
FROM df
LIMIT 10;
""")

在本文接下来的内容中,我们会直接展示SQL代码,而不再重复展示run函数。

接下来,我们将通过一个Uber真实项目看看SQL与Pandas结合的效果。


实战案例:分析Uber司机绩效数据

在这个数据分析项目中,Uber要求我们分析司机绩效数据,并评估奖金发放策略。


数据探索与分析

加载初始数据集

import pandas as pd
import numpy as np
df = pd.read_csv('dataset_2.csv')

查看数据

df.head(10)

数据集包含:

  • 驾驶员姓名
  • 完成的行程数
  • 接单率(接受行程请求的百分比)
  • 总在线时长
  • 平均评分

验证列名:

df.info()

数据集包含5列,没有缺失值。


问题一:谁符合奖金方案1?

方案1条件:

  • 在线 ≥ 8小时
  • 接单率 ≥ 90%
  • 完成行程 ≥ 10
  • 评分 ≥ 4.7
    奖金:每位符合条件司机奖励 50美元

步骤1:SQL筛选符合条件的司机

opt1_eligible = run("""SELECT NameFROM   dfWHERE  `Supply Hours`    >=  8AND  `Trips Completed` >= 10AND  `Accept Rate`     >= 90AND  Rating            >= 4.7;
""")
opt1_eligible

步骤2:Pandas计算奖金总额

payout_opt1 = 50 * len(opt1_eligible)
print(f"Option 1 payout: ${payout_opt1:,}")

问题二:计算奖金方案2的总额

方案2条件:

  • 行程 ≥ 12
  • 评分 ≥ 4.7
    奖金:每单奖励4美元

步骤1:SQL筛选符合条件的司机

opt2_drivers = run("""SELECT Name,`Trips Completed`FROM   dfWHERE  `Trips Completed` >= 12AND  Rating            >= 4.7;
""")
opt2_drivers.head()

步骤2:Pandas计算奖金

total_trips   = opt2_drivers["Trips Completed"].sum()
option2_bonus = 4 * total_trips
print(f"Total trips: {total_trips},  Option-2 payout: ${option2_bonus}")

问题三:符合方案1但不符合方案2的司机

步骤1:SQL建立两个集合

opt1_drivers = run("""SELECT NameFROM   dfWHERE  `Supply Hours`    >=  8AND  `Trips Completed` >= 10AND  `Accept Rate`     >= 90AND  Rating            >= 4.7;
""")opt2_drivers = run("""SELECT NameFROM   dfWHERE  `Trips Completed` >= 12AND  Rating            >= 4.7;
""")

步骤2:Python集合运算

only_opt1 = set(opt1_drivers["Name"]) - set(opt2_drivers["Name"])
count_only_opt1 = len(only_opt1)
print(f"Drivers qualifying for Option 1 but not Option 2: {count_only_opt1}")

问题四:低绩效却高评分的司机比例

条件: 行程 < 10,接单率 < 90%,评分 ≥ 4.7

SQL筛选:

low_kpi_df = run("""SELECT *FROM   dfWHERE  `Trips Completed` < 10AND  `Accept Rate`     < 90AND  Rating            >= 4.7;
""")

Pandas计算比例:

num_low_kpi   = len(low_kpi_df)
total_drivers = len(df)
percentage    = round(100 * num_low_kpi / total_drivers, 2)
print(f"{num_low_kpi} out of {total_drivers} drivers ⇒ {percentage}%")

问题五:不与Uber合作时的年利润

SQL计算年收入与支出:

taxi_stats = run("""
SELECT200*6*(52-3)                      AS annual_revenue,((200+500)*(52-3) + 400*12)       AS annual_expenses
""")

Pandas计算利润与利润率:

rev  = taxi_stats.loc[0, "annual_revenue"]
cost = taxi_stats.loc[0, "annual_expenses"]profit  = rev - cost
margin  = round(100 * profit / rev, 2)print(f"Revenue  : ${rev:,}")
print(f"Expenses : ${cost:,}")
print(f"Profit   : ${profit:,}    (margin: {margin}%)")

问题六:购买新车后维持利润需增加的周收入

SQL计算新的支出:

new_exp = run("""
SELECT40000             AS car,200*1.05*(52-3)   AS gas,400*0.80*12       AS insurance
""")
new_cost = new_exp.sum(axis=1).iloc[0]

Pandas计算所需增加的周收入:

old_rev    = 58800
old_profit = 19700
old_margin = old_profit / old_rev
weeks      = 49new_rev_required = new_cost / (1 - old_margin)
total_increase = new_rev_required - old_rev
weekly_bump = round(total_increase / weeks, 2)print(f"Required weekly gross-fare increase = ${weekly_bump}")

总结

通过pandasql将SQL与Python结合,我们解决了六类问题。

  • SQL 在结构化数据的快速筛选与汇总方面表现突出;
  • Python 在数值计算与动态分析方面更具优势。

二者结合让整个分析流程更加高效、直观。

http://www.dtcms.com/a/480986.html

相关文章:

  • 长春电商网站建设多少钱网站设计便宜
  • 网站开发 合同范本做网站设计师
  • 做站群一个网站多少钱旅游网站开发工具
  • 做网站前台模型要做什么呢品牌策划是什么
  • 邵东微网站建设编程外包平台
  • 需要建设一个什么样的网站给军方做网站套模板行不行
  • 贵州网站建设公司有哪些北京朝阳官方平台
  • 公司网址备案能用多少网站wordpress计费搜索
  • 做网站ie缓存豆瓣网站模板
  • 音视频网站建设可行性报告如何编辑wordpress
  • 门户网站建设工序android购物商城源码
  • 建筑工程类网站怎么用ppt做网站设计
  • 搜索栏搜索网站?热?文公众号开发信息
  • 网站域名格式贵阳app开发公司哪家强
  • 为企业建网站过时了产品宣传片公司
  • 企业主题wordpress 含演示数据seo关键词seo排名公司
  • jsp网站搭建wordpress可视化编辑器插件
  • 网站建设经验交流材料专业购物网站建设哪家好
  • 沈阳网站备案asp.net 3.5网站开发全程解析
  • 如何做彩票网站wordpress如何实现支付功
  • 网站精简布局公司调查公司
  • 工商局网站怎么做增项wordpress做直播网站吗
  • 爱站网查询龙岩网上房地产
  • 广州电商网站建设wordpress 随机图文
  • 长春网站建设方案托管律师事务所网站设计
  • 全国水利建设市场信用信息平台门户网站申请域名流程后怎样做网站
  • html5做网站心得体会湖北建设厅行政服务中心网站
  • 17网站一起做网店质量怎么样网站官网
  • 购物网站类型团队拓展口号
  • wordpress无法显示登陆南京seo排名扣费