范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Pandas管理和操作数据比SQL更方便

  本文将比较Pandas和SQL在管理和操作数据方面哪一个更方便,Pandas是由数据科学家专门为数据分析设计的一款开源软件,并且有成千上万的代码贡献者帮助改进,工具函数越来越多,易用性越来越好。本系列文前面还有两篇《Pandas管理和操作数据比 SQL 更简洁!》和《Pandas 管理和操作数据比SQL更灵活》,感兴趣的可阅读。特别说明,本文以下内容摘译自英文ponder网,头条文章中不允许提供网站链接,感兴趣可自己搜索;示例代码测试环境为VScode下的Jupyter Notebook。
  数据准备import pandas as pd sf_permits = pd.read_csv("E:/archive/Building_Permits.csv") sf_permits.head()
  输出结果如下图:
  构建复杂查询
  使用Pandas构建比较复杂的查询,可以在其他查询的结果上进一步增加新的查询,同时还可以查询此前其他查询的结果,以便检查此前其他查询结果的正确性。例如,在准备好的数据集中,想查询与"Geary"相关的街道名称,查询代码如下:sf_permits[sf_permits["Street Name"] == "Geary"]
  输出结果如下图:
  从输出结果中可以看出,与"Geary"相关的许多相邻的街道信息"Neighborhoods - Analysis Boundaries",如下图:
  整个数据的输出结果一共有43列,如果只想要"Neighborhoods - Analysis Boundaries"这一列,把其他42列删除,那么只需要在前面语句的末尾增加[["Neighborhoods - Analysis Boundaries"]],代码如下:sf_permits[sf_permits["Street Name"] == "Geary"][["Neighborhoods - Analysis Boundaries"]]
  输出结果如下图:
  一共有1966行,在此基础上做进一步查询。假如想要进一步查询与Geary相邻的街道信息,按"permits"值从大到小排序,那只需要在前面查询语句的基础上,增加"sort_values(by = ["Neighborhoods - Analysis Boundaries"]).value_counts()"即可,代码如下:sf_permits[sf_permits["Street Name"] == "Geary"][["Neighborhoods - Analysis Boundaries"]].sort_values(by = ["Neighborhoods - Analysis Boundaries"]).value_counts()
  输出结果如下图:
  以上这些查询语句,用SQL都可以实现,但是写SQL查询代码是非常痛苦的,不能一层层地在末尾追加查询条件,因为每一个查询条件的变化都有特定的位置,例如,SQL查询语句中要改变输出数据的列,就需要修改此前的查询SELECT的内容,而使用Pandas就可以顺着思路一步一步地追加查询条件。处理查询的中间结果
  Pandas自诞生以来,就借鉴了其他编程语言对数据操作的惯用方法,例如,可以把dataframe赋值给变量,可以直接操作该变量,也可以把该变量赋值给其他变量。现在写一段代码,查询数据集中有多少空值,并且检查每列有多少个空值,代码如下:missing_values_count = sf_permits.isnull().sum() missing_values_count
  输出结果如下:
  从输出结果中可以看出,整个数据集共有43列、199000行,非空值是大多数列都有空值,因此就需要对该数据集进行清理,设定一个清理条件:非空值不能低于190000,否则就删除该列,操作代码如下:sf_permits_cleaned = sf_permits.dropna(axis="columns",thresh=190000) sf_permits_cleaned
  输出结果如下:
  从输出结果可以看出,清理以后的数据集只有198900行19列,这样的操作在Pandas中是非常方便的,只需要定义一个新的变量 "sf_permits_cleaned",按照一般变量赋值即可;如果用SQL来操作,可以达到类似的结果,但是需要定义视图,然后在视图的基础上进行操作,不那么直观,也比较难处理!快速获得数据集的统计信息
  使用Pandas,有许多方法可以快速获得dataframe的数据及其元数据的全部信息,也可以使用函数head/tail()获得头部或尾部的几行数据及其元数据的信息。为了方便起见,适应显示其大小,用"..."隐藏了更多列和行的信息。使用info()函数可以获得dataframe的总体信息,代码如下:sf_permits_cleaned.info()
  输出结果如下:
  从图中可以看出,含有空值的列都是描述性的列,其他列几乎都没有空值。Pandas还提供了一个函数describe(),用于专门获取描述性的列的统计数据,如总数、均值、方差及其分位数,代码如下:sf_permits_cleaned.describe()
  输出结果如下:
  以上结果出现了一个奇怪的现象,street number的min是0,其实就是某个街道不存在。
  这样的操作对于SQL来说,就很繁琐了,需要写专门的查询语句,并且数值类型的列越多,查询语句越长。数据可视化
  Pandas内置了可视化函数,而SQL没有可视化能力。看看示例代码:sf_permits_cleaned["Current Status"].value_counts().plot(kind ="bar")
  输出结果如下:
  图中包含了各分类的数据柱状图。
  Pandas和SQL在以上几个方面的比较,只是站在终端用户的角度来看,Pandas有很多优点;但是二者的目标不同,设计理念也不同,Pandas因数据科学而生,应用在机器学习方面肯定非常方便,而SQL是从属于数据库系统,从更多的角度看,两者都没有可比性。

故宫六百年1413讲立斩国师永乐帝于永乐二十二年(1424)七月十八日病死榆木川,因六师在外,秘不发丧。每日三餐,照常进膳。龙轝(y)日夜兼行,路上二十二天,八月初十日,永乐帝遗体运到北京,安放三国赵子龙简介赵子龙是个什么样的人?赵子龙是三国时期的一员猛将,受到刘备和诸葛亮的欣赏和重用,他骁勇善战,不止是会打仗,而且有智慧,有头脑,那么在历史上赵子龙到底是个什么样的人呢,很多人或许都不太了解,现在跟着小编一数读2月动力电池规模继续攀升,宁德时代与比亚迪装车量遥遥领先文懂车帝原创常思玥懂车帝原创行业3月10日,中国汽车动力电池产业创新联盟发布2月份月度数据,整体来看动力电池行业依然在规模与装车量上快速攀升。2月动力电池规模继续攀升数据显示,2月19世纪的鸦片战争,对中国的近代史产生了什么影响?19世纪的鸦片战争是中国近代史上一段至关重要的历史事件,对中国社会和国家产生了深远的影响。本文将从鸦片战争发生的背景战争的过程结果及对中国的近代历史的影响等方面进行探讨。背景鸦片战浅析李泰国与第二次鸦片战争文尼尔笔记编辑尼尔笔记引言1842年,李泰国来到中国。1855年六月一日,李泰国从驻上海英国领事馆担任代理副领事,出任上海英国税务处,并在中国担任首位中国海关总署,直至1863年解光子芯片时代!人类正处于算力真正爆发的前夜读创深圳商报驻穗记者姚嘉莉电子芯片结构的极限将是做成小到不能再小了的原子吗?以光子代替电子的光子芯片是否能够以全新的方式传输计算和处理信息,为人类文明开启一个光子芯片驱动的先进智算数据向西,贵州凭什么一直以来,在外界眼中,贵州是养在深闺人未识,偏居西南一隅,山清水秀,民族文化多样,经济还很落后,更别提云计算大数据这样新兴前沿技术能与其有何关联。但如今,这座不沿海的城市,抓科技风12年前湖南一男子捡女人回家,与其生下两女,5年后真实身份曝光12年前湖南一男子在回家路上将一个流浪女捡回了家中,到了而立之年还没有结婚的他,权当是上天赐给他礼物!于是在之后的相处过程中,与流浪女生下了两个女儿,本以为平静的日子会一直这样过下女英雄贾春英曾家喻户晓却隐居35年,去世后子孙才得知她的身份2012年,湖北省阳新县陶港贾村的潘平正在整理祖母贾春英的遗物,一封看上去有些年头的信映入他的眼帘。怀揣着好奇心,潘平小心翼翼地拆开了这封信。里面的内容让他大吃一惊,原来他的祖母竟真实经历发烧!你是否中招?北方这边相对来说还是比较严重的,特别是小孩,一年多的宝宝一发烧一家人不知所措!一年零1个月的宝宝发烧到39度,他这个发烧是一点一点起来的。开始38度的时候用的退热贴泡脚等物理降温,国元信托高密违约?真实情况核实中根据小编预警通查看显示,国元信托高密市凤城新农村建设投资有限公司债权投资集合资金信托计划违约,截止到昨天2023年3月10号晚上24点,超过信托合同约定的T10工作日兑付时限,投资
朝气蓬勃锐意创新!2023年春节联欢晚会主创团队官宣中央广播电视总台2023年春节联欢晚会正在紧锣密鼓筹备之中,1月17日,春晚发布主创团队官宣总导演于蕾,副总导演邹为,与赵大治郝婧宋飞赵越董晓峰魏道胜王硕共同执导2023年春晚。2活力中国丨在绿色机遇中感受中国经济活力活力中国,今天的关键词是绿色。在碳达峰碳中和目标的引领下,加快全面转型的中国经济,正涌动着无尽的绿意。新的一年,中国的双碳蓝图如何照进现实?第一站,跟随记者前往内蒙古鄂尔多斯,在这测评索尼201054G镜头LensTip网站对索尼的新标准变焦FE2070mmF4G进行了评测。看看测评内容1变焦环转动均匀,重量适中。变焦时会将镜头拉长41毫米。聚焦环是电子的,阻尼适当。对焦环的旋转角度稳岗留工,为新年开门红加把劲上海对重点监测的电商平台和邮政快递企业上岗工作一线人员给予每人每天150元补贴苏州发布稳岗10条,对春节期间重点企业非苏州户籍职工在苏过节的员工,按不低于每人500元的标准给予企业2023新年朋友圈文案配图,可爱兔兔来袭!给大家分享一些俏皮的治愈文案,致敬人生的不同阶段,让你的拜年信息可爱温馨又直击人心!致屏幕前的你所爱如山海,烟火伴长明。星河滚烫,你是人间理想!致友谊为生命的每次拥抱兴高采烈。好朋我们有个大坑需要填这几年,各地的城投公司可火了,感觉他们没有不能干的。一句话,啥都能干。旧城改造新城建设,建新路改旧路,修桥铺路景观绿化,城市公园游乐项目在每座城市,甚至是每个县城小镇的角角落落,当炒股亦是修行2017年7月24日,我开设了股票账户,25日买入了第一支股票五矿资本。从此开始了炒股之路。那时候资金有限,炒股也只是上班之余增加生活激情的一部分,股票软件也只是偶尔打开看看,一直以复杂经济学视角审视中西发展异同财经书摘编者按传统经济学理论将经济行为视为一种动态均衡,理性行为人面对的是可清晰界定的问题,可采用演绎推论方法进行分析决策。复杂经济学则认为经济体时刻处于动态变化过程,其中的经济主体为应对银行理财所谓防亏神器的低波动理财真能让理财投资回来吗?财经新势力新春季从2022年底到现在,银行理财两大现象值得关注一是2022年12月底银行启动理财防亏神器摊余成本法,被很多银行定义为低波动理财产品二是最近一些银行理财产品出现回暖,A股3000点,且行且珍惜让你不为财富操心,为你的财富指出明路!更多精彩内容,欢迎关注宜信财富公众号(IDyixincaifuguanjia)上周从全周表现看,三大股指仍较前一周有所回落,A股市场止住回调趋夜读请好好经营自己愿我们都能脚下有风,眼里有光。生活中,得到或遗憾,都会成为过眼云烟。最重要的是,要向前看。调整心态,努力耕耘,去迎接属于自己的蜕变。不慌不忙,也不庸庸碌碌有位作家曾说过凡是自然的东