origin多组柱状图_柱状图上下两组数据

origin多组柱状图_柱状图上下两组数据今日份知识你摄入了么?在我的数据分析生涯中,我几乎完全是在SQL中锻炼我的技能。虽然SQL可以做一些非常酷的事情,但它有它的局限性-这些限制在很大程度上让我决定了要不要去感受数据科学别的巨大魅力。在我之前的数据岗位中,我需要分析来自外部源的数据文件和工具,但这些工具限制了它可以处理的数据量或花费过多的时间,使任务变得几乎不可能彻底完成。在我所有职位中有一个数据pipeline有点像这样:…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

99aa8b53e796b88cd039e77db5022b69.png

c33785bb74a6ea761fd0a2861fda5b92.gif

今日份知识你摄入了么?

在我的数据分析生涯中,我几乎完全是在SQL中锻炼我的技能。虽然SQL可以做一些非常酷的事情,但它有它的局限性 – 这些限制在很大程度上让我决定了要不要去感受数据科学别的巨大魅力。在我之前的数据岗位中,我需要分析来自外部源的数据文件和工具,但这些工具限制了它可以处理的数据量或花费过多的时间,使任务变得几乎不可能彻底完成。

在我所有职位中有一个数据pipeline有点像这样:

6627ee25bee36fc5ad5512de2c44d41a.png

当我们收到了来自外部来源的数据,需要进行质量分析而且我们需要理解ETL的要求。当我们使用excel来做这件事的时候,任何尝试使用excel进行大型文件分析的人都知道这是一场噩梦。所以我们编写excel宏,但由于每个数据文件都是如此不同,所以它们并不有用。其他数据分析的工具通常不是天上掉下来的,得花钱的,但是帮你付钱的爸爸如果不能切身感受到你的pain,那他们就会拒绝做你的爸爸。

但是世界在我搜索了 Python Pandas Library 变得清凉了。

卧槽,这么刺激免费有用高级的东西!我居然现在才发现!

Pandas

d8f2a94d98ec1bc4ff8e9f52955b4a33.png

Pandas与SQL不同,Pandas有内置方程。当数据已经是文件格式(.csv,.txt,.tsv等)时,Pandas允许我们在不影响数据库资源的情况下处理数据集。

我将解释并展示一些我真正喜欢的功能的例子:

pandas.read_csv()

首先,我们需要将数据存为data frame。一旦我们将其设置为变量名称(下面的“df”),我们就可以使用其他函数来分析和操作数据。在将数据加载到data frame时,我使用了’index_col‘参数,这个参数将第一列(index = 0)设置为数据帧的row label。有时我们需要调整多个参数来让我们的data变成正确的format。如果这个dataframe被设为为一个variable, 那么这个方程不会返回output, 但你可以用下面的方程来观察数据。

# Command to import the pandas library to your notebook

import pandas as pd

# Read data from Titanic dataset.

df = pd.read_csv(‘…titanic.csv’, index_col=0)

# Location of file, can be url or local folder structure

pandas.head()

head方程非常有用,只需在我们之前的的dataframe的variable名称后加.head(), 默认设置是显示前5行,但咱们也可以通过调整数值来改变 例如.head(10)

df.head()

23666a64abbdeb46d3647088a19b498c.png

前5行的数据

我们可以看到数据里有一些String,Int,Float,有些列有NaN值。

http://pandas.info()

info方程将给出数据帧列的细分以及每个列的非空条目数, 而且还会告诉我们每列的数据类型以及数据框中的总条目数。

http://df.info()

5ff126d5cca351944362a0d0a27a81d7.png

pandas.describe()

describe函数对于查看数据的分布非常有用,特别是像int和float这样的int类型。如下所示,它将返回一个数据框其中包含每列的均值,最小值,最大值,标准差等。

df.describe()

1d95fb26af7ee7352e3b7a6ea05412d9.png

如果我们要查看不仅仅numeric而是所有类型的variable,就必须使用include参数。但值得注意的是“unique”,“top”和“freq”会被加入进dataframe中。这些仅针对非Numeric数据类型和NaN显示。对于这些新的Row,其他对应数字的细分都是NaN。

df.describe(include= ‘all’)

b85786ccf5c5a76cf74239985bbd2f26.png

pandas.isna()

单独的is.na 方程自己不是非常的有用,它将返回整个数据帧为False,如果有NaN或NULL值,返回True。如果你在is.na()中包含.sum(),那么你将获得类似下面的输出,显示每列的NaN或NULL的个数。

df.isna().sum()

38d2cb9cb73b443675ec86bc559a34f9.png

pandas.plot()

Pandas绘图功能对于快速可视化数据非常有用,这个此函数使用matplotlib进行可视化.

df.plot(x =’age’,y =’fare’,kind =’scatter’)

4c51e30270d35db5b983c49679d5c576.png

这些只是我用于初始数据分析的一些有用的Pandas函数。我们可以在此处找到更多关于pandas的用法。

什么时候使用SQL? 什么时候使用 Pandas?

使用哪种工具取决于数据存储的位置,想要使用的数据和自己的优势。如果你的数据属于文件格式,则无需使用SQL进行任何操作。如果你的数据来自数据库,那么咱们应该通过以下问题来了解应该使用SQL。

7fe49874852befb13fdd223f2fecd58b.png

如果你只有写一个 query 的权限,真正运行是别人来做的话,你大概就不能真正透彻地了解你的这组数据。这个时候,你要做的就是把你觉得你可能需要的所有数据都 pull 下来,然后导出成一个 csv,然后用 Pandas 去处理。

或者

如果你知道你要 run 的这个 query 会占用这个数据库很大的资源,然后数据库的 admin 大概率会不爽的话,那你就在数据库之外用 Pandas 处理。尽量避免在你的 query 里使用 SELECT*,特别是你无法琢磨你的 table 里会生存多少数据的时候。

14f7aff3c8451c3a9783d128244c0240.png

如果你已经知道你将如何处置你的数据了,比如你打算加哪些具体的 filter,或者把数据 join 进某个具体的 table,或者把两组数据通过某种计算或者集合 combine 一下,等等;那这个时候选择使用 SQL 会简单一些。你可以通过 SQL 把你的数据都 pull 下来然后导成一个 CSV 再来进行接下来的数据分析或者建模等等。

f47dc53e6ac0fb2b1375c7ba08cb3a10.png

这其实是最重要的一个问题,你知道自己最强的地方在哪么?如果你知道自己和谁相处更舒适一些,那就不要犹豫!贴紧它!榨干它!做整条街最靓的仔!

总结一下:

这两个工具都非常有用,我建议大家同时学习。该组合将使我们能够更有效地进行广泛的数据分析和操作。很快,你将不再需要处理令人崩溃的Excel了。来加入我们!

108a165fee251c609845503c7b0cd283.png
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188182.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHPWAMP集成环境Zend组件的相关介绍,环境默认的PHP运行模式「建议收藏」

    PHPWAMP集成环境Zend组件的相关介绍,环境默认的PHP运行模式「建议收藏」PHPWAMP集成环境Zend组件的相关介绍,站点管理默认已经全部安装Zend解密

    2022年6月28日
    23
  • JAVA:基于ARCGIS二次开发可视化开发环境搭建

    JAVA:基于ARCGIS二次开发可视化开发环境搭建这两天为了搭建这么一个基于java的ArcGIS二次开发环境可着实花了一番心血。在网上搜索各种资料,大部分都是基于C#的,关于JAVA的很少,而且很杂乱,没有一个完整的、详细的、适合新手的这么一个教程。所以,当我在奋斗两天且重装一次系统,终于安装成功之后,写下这篇文章,让用java进行基于ArcEngine二次开发的人可以少走弯路。因为ArcEngine只能在32位系统上面运行,所以当前系统为64

    2022年7月23日
    11
  • CreateMutex详解–转

    CreateMutex详解–转一、介绍原型HANDLECreateMutex(LPSECURITY_ATTRIBUTESlpMutexAttributes,//指向安全属性的指针BOOLbInitialOwner

    2022年7月3日
    20
  • python2.7安装matplotlib_Matplotlib安装

    python2.7安装matplotlib_Matplotlib安装Matplotlib安装教程有很多不同的方法来安装matplotlib,最好的方法取决于你正在使用什么操作系统,你已经安装了什么,以及如何使用它。为了避免在此页面上浏览所有细节(和潜在的并发症),有几个方便的选择。安装预建的软件包大多数平台:科学的Python发行第一个选择是使用已经提供matplotlib内置的预包装的python发行版之一。Continuum.ioPython发行版(Anac…

    2022年6月29日
    24
  • java编程中开头public是什么意思?

    java编程中开头public是什么意思?public关键字是和访问权限相关的,它所修饰的方法对所有类都是可以访问的Java中的访问权限共有四种,它们的作用范围如下图所示:注释:public里的所有类包括:在不同包内也可以访问。default访问权限又叫包访问权限:在这种权限下,可以访问在同一个包中的其他类的成员。…

    2022年7月9日
    20
  • 风雨矿机路_二手矿机吧

    风雨矿机路_二手矿机吧   本文超过6500字。为了读者阅读方便,核心要点如下:1.杨作兴在芯片设计一线呆了20多年,在2014年进入矿圈。2.比特大陆的S7、S9矿机芯片,是杨作兴在业余时间兼职设计的。在他离开比特大陆后,比特大陆在比特币矿机芯片生产上砸了几十亿元,耗费两年时间却未能实现突破。3.杨作兴曾在2015年12月份与比特大陆讨论股权的事情,一直谈到2016年5月份,最终因为觉得比特大…

    2022年9月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号