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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • PcAnyWhere 的默认端口

    PcAnyWhere 的默认端口默认端口为5631、5632。需要开防火墙的,开通这两个端口就行了 

  • 7000词汇这么背我比较可以接受,连续看20天足以[通俗易懂]

    7000词汇这么背我比较可以接受,连续看20天足以[通俗易懂]
    16天记住7000考研词汇(第一天)

    1.WithmyownearsIclearlyheardtheheartbeatofthenuclearbomb.
    我亲耳清楚地听到原子弹的心脏的跳动。
    2.Nextyearthebeardedbearwillbearadearbabyintherear.
    明年,长胡子的熊将在后方产一头可爱的小崽.
    3.EarlyIsearchedthr

  • 【微信开放平台】微信第三方扫码登录(亲测可用)「建议收藏」

    【微信开放平台】微信第三方扫码登录(亲测可用)「建议收藏」开放平台需要企业认证才能注册,正好这次公司提供了一个账号,调通以后,就顺便写一篇博客吧。公众平台与开放平台的区别微信开放平台主要面对移动应用/网站应用开发者,为其提供微信登录、分享、支付等相关权限和服务。微信公众平台微信公众平台用于管理、开放微信公众号(包括订阅号、服务号、企业号),简单的说就是微信公众号的后台运营、管理系统。这里想吐槽一下,微信基本注册全都要邮箱,公众号一…

  • 二、快速开始——Spring集成Mybatis-Plus

    二、快速开始——Spring集成Mybatis-Plus由于MyBatis-Plus是在MyBatis的基础上只做增强不做改变,因此其与Spring的整合非常简单。只需把MyBatis的依赖换成MyBatis的依赖,再把sqlSessionFactory换成MyBatis-Plus的即可。下面让我们在Spring中快速集成Mybatis-Plus的具体操作:1、准备测试表–创建库CREATEDATABASEmp;–使用库USEm…

  • python删除首行_Python删除文件第一行

    python删除首行_Python删除文件第一行一、代码实例:defdel_firstline():forlineinfileinput.input(“file.txt”,inplace=1):ifnotfileinput.isfirstline():print(fileinput.replace(“\n”,””))二、使用的库:fileinputfileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环…

  • 有关ViewPager使用及解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效问题

    有关ViewPager使用及解决ViewPager和PagerAdapter中调用notifyDataSetChanged失效问题ViewPager是android-support-v4.jar包中的一个系统控件,继承自ViewGroup,专门用以实现左右滑动切换View的效果,使用时需要首先在Project->properties->JavaBuildPath->Libraries->AddExternalJars中加入sdk目录下的extras/android/support/v4/android-support

发表回复

您的电子邮箱地址不会被公开。

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