normalize(如何入门Python数据分析库Pandas)

大家好,今天来为大家分享normalize的一些知识点,和如何入门Python数据分析库Pandas的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

如何入门Python数据分析库Pandas

在这篇文章中,我将概述如何学习Pandas。首先要给那些不熟悉Pandas的人简单介绍一下,Pandas是Python生态系统中最流行的数据分析库。它能够完成许多任务,包括:

*读/写不同格式的数据

*选择数据的子集

*跨行/列计算

*寻找并填写缺失的数据

*在数据的独立组中应用操作

*重塑数据成不同格式

*合并多个数据集

*先进的时序功能

*通过matplotlib和seaborn进行可视化操作

尽管Pandas功能强大,但它并不为整个数据科学流程提供完整功能。Pandas通常是被用在数据采集和存储以及数据建模和预测中间的工具,作用是数据挖掘和清理。

数据科学管道

对于典型的数据科学家而言,Pandas在数据管道传输过程中扮演着非常重要的角色。其中一个量化指标是通过社区讨论频率趋势(StackOverflowtrendsapp)。

现在,Pandas在StackOverflow上的活动居Python数据科学库之首,占整个站点新问题提交总数的1%。

StackOverflow的滥用

从上面的图标中,我们发现很多人都在使用Pandas,但同时也对此很困惑。我在StackOverflow上回答了关于Pandas的约400个问题,亲眼目睹了大家对这个库理解得多糟。StackOverflow给程序员提供了极大的便捷,但同时也产生了一个巨大的缺点。因为程序员能瞬间找到问题的答案并获得满足感,导致人们不愿意仔细阅读自己拥有的文献和其他资源了。其实我建议程序员每年花几个星期的时间不用StackOverflow解决问题。

手把手教你学Pandas

几个星期前有人询问我如何练习使用Pandas,因此我在r/datasciencesubreddit上发布了一个简单的指南。下面的内容将详细说明那篇文章表达的信息。

首先,你应该摆正目标。你的目标不是真的要「学习Pandas」。了解如何在库中执行运算是很有用的,但这和你在实际数据分析中需要用到的Pandas知识并不一样。你可以将你的学习分为两类:

*独立于数据分析,学习Pandas库

*学习在实际数据分析中使用Pandas

打个比方,这两者的区别类似于,前者是学习如何将小树枝锯成两半,后者是在森林里砍一些树。在我们详细讨论之前,让我们先总结一下这两种方法。

独立于数据分析,学习Pandas库:此方法主要包括阅读、更关键的是探索Pandas官方文档。(http://pandas.pydata.org/pandas-docs/stable/)

学习在实际数据分析中使用Pandas:此方法涉及查找和收集真实世界的数据,并执行端到端的数据分析。Kaggle数据集是查找数据的好地方。不过我强烈建议你避免在流畅使用Pandas前使用Kaggle的机器学习组件。

交替学习

在你学习如何使用Pandas进行数据分析的过程中,你应该交替学习Pandas文档的基础以及在真实数据库处理中的Pandas运用。这非常重要。否则,你很容易在掌握完成大部分任务所需的Pandas基础知识之后对他们产生完全的依赖。但其实在更高级的运算存在时,这些基础又显得太笨重了。

从文档开始

如果你此前从没有接触过Pandas但是有着Python的足够的基础知识,我建议你从Pandas官方文档开始。文档写得非常详细,现在共有2195页。即使文档的规模如此庞大,它还是没有涵盖每一个操作,当然也不涵盖你在Pandas中能使用的函数/方法与参数的所有组合。

充分利用文档

为了充分利用文档,不要只阅读它。我建议你阅读其中的15个部分。对每个部分,新建一个Jupyternotebook。如果你对Jupyternotebook不太熟悉,请先阅读来源于DataCamp的这篇文章:https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook

建立你的首个Jupyternotebook

请从「数据结构入门(IntrotoDataStructures)」这个章节开始。在你的Jupyternotebook旁边打开这个页面。当你阅读文档时,写下(而不是复制)代码,并且在笔记本中执行。在执行代码的过程中,请探索这些操作,并尝试探索使用它们的新方法。

然后选择「索引和选择数据(IndexingandSelectingData)」这个部分。新建一个Jupyternotebook,同样编写、执行代码,然后探索你学到的不同操作。选择数据是初学者最难理解的部分,我专门在.locvs.iloc上写了一个长篇文章(https://stackoverflow.com/questions/28757389/loc-vs-iloc-vs-ix-vs-at-vs-iat/47098873#47098873),你可能想从中看到另一个解释。

在学习这两个部分之后,你应该能了解一个DataFrame和一个Series的组件,也能明白如何从数据中选择不同的子集。现在可以阅读「10minutestopandas」,以获得更加其他有用操作的广泛概述。和学习所有部分一样,请新建一个notebook。

按下shift+tab+tab获得帮助

我经常在使用Pandas时按下shift+tab+tab。当指针放在名称中或是在有效Python代码括号当中时,被指对象就会弹出一个小滚动框显示其文档。这个小框对我来说十分有用,因为记住所有的参数名称和它们的输入类型是不可能的。

按下shift+tab+tab,开启stack方式的文档

你也可以在「.」之后直接按下tab键,得到全部有效对象的下拉菜单

在DataFrame(df.)后按下tab,获得200+有效对象列表

官方文档的主要缺点

虽然官方文档描述得非常详尽,但它并不能很好地指导如何正确使用真实数据进行数据分析。所有数据都是人为设计或者随机生成的。真正的数据分析会涉及好几个、甚至几十个Pandas操作串行。如果你只看文档,你永远不会接触到这些。使用文档学习Pandas呆板而机械,各个方法学起来相互独立没有联系。

建立你的首次数据分析

在读完上述三部分文档之后,就可以首次接触真实数据了。如前所述,我建议你从Kaggle数据集开始。你可以通过大众投票热度进行挑选,例如选择TMDB5000Movie数据集。下载数据,然后在该数据集上新建一个Jupyternotebook。你可能目前并不能进行高级的数据处理,但你应该能联系你在文档的前三部分学到的知识。

检视内核

每一个Kaggle数据集都有一个内核(kernel)部分。不要被「内核」这个名字迷惑了——它只是一个将Kaggle数据集放在Python或R语言处理的Jupyternotebook。这是很好的学习机会。在你做了一些基本的数据分析之后,打开一个比较流行的Pythonkernel,通读其中的几个,把你感兴趣的几个代码片段插入到自己的代码里。

如果对某些问题不能理解,你可以在评论区提问。其实你可以创建自己的kernel,不过现在,我觉得你还是在本地笔记本上工作比较好。

回归官方文档

当你完成了你的第一个kernel之后,你可以回归文档然后阅读其他部分。下面是我建议的阅读顺序:

*处理丢失的数据

*分组:split-apply-combine模式

*重塑和数据交叉表

*数据合并和连接

*输入输出工具(Text,CSV,HDF5…)

*使用文本数据

*可视化

*时间序列/日期功能

*时间差

*分类数据

*计算工具

*多重索引/高级索引

上述顺序与文档主页左侧的顺序明显不同,其中涵盖了我认为最重要的主题。文档中的某些部分没有在上面列出,你可以在之后自行阅读他们。

在阅读上述部分的文档并完成大约10个Kagglekernel之后,你应该可以无障碍地弄懂Pandas的机制,同时可以顺利地进行实际数据分析。

学习探索性数据分析

通过阅读许多流行的Kagglekernel,你会在建立良好数据分析方面收获丰富。对于更加正式和严格的方法,我建议你阅读HowardSeltman在线书籍的第四章节,「ExploratoryDataAnalysis」。(http://www.stat.cmu.edu/~hseltman/309/Book/chapter4.pdf)

建立自己的Kernel

你应该考虑在Kaggle上创建自己的kernel。这是强制自己将程序写得清晰的好方法。通常,那些你自己写的代码都乱糟糟的没有顺序,对他人(包括未来的自己)来说都毫无可读性。但当你在网上发表Kernel的时候,我会建议你做得好一些,就像是期待你现在或未来老板读取那样。你可以在开头写一个执行总结或摘要,然后用注释解释每个代码块。我通常会写一个探索性但混乱的程序,然后再写一个完全独立可读的程序作为最终产品。这是我的一位学生在HRanalytics数据集上写的kernel:https://www.kaggle.com/aselad/why-are-our-employees-leaving-prematurely

不要只是依赖Pandas,试着掌握它

一个把Pandas用的过得去的人和一个掌握Pandas的人有很大的区别。Pandas的常规用户通常只能写比较差的代码,因为Pandas有多种功能和多种方式去实现同样的结果。编写简单的程序也很容易得到你的结果,但其实效率非常低。

如果你是一个使用Python的数据科学家,你可能已经频繁使用Pandas。所以你应该把掌握Pandas这件事摆在重要的位置上,它能够为你创造很多价值。你可以在下面的链接中获得许多有趣的技巧:

https://stackoverflow.com/questions/17095101/outputting-difference-in-two-pandas-dataframes-side-by-side-highlighting-the-d/47112033#47112033

使用StackOverflow检验你的知识

如果你不能回答StackOverflow的关于一个Python库的大部分问题,你就不算真正了解它。这种论断可能有点绝对,但是大体说来,StackOverflow为特定了解一个库提供了很好的测试平台。StackOverflow上有超过50000个带有Pandas标签的问题,所以你有一个无穷无尽的数据库能建立你对Pandas的知识。

如果你从没有在StackOverflow上回答过问题,我建议你看看那些已有答案的来问题,并且尝试只通过文档来回答他们。当你觉得你可以将高质量的回答整合起来的时候,我建议你回答一些没有被解答的问题。在StackOverflow回答问题是锻炼我的Pandas技能的最佳方式。

完成你自己的项目

Kagglekernel非常棒,但最终你需要处理一个独一无二的任务。第一步是寻找数据。其中有许多数据资源,如:

data.gov,data.world,纽约公开数据,休斯顿公开数据,丹佛公开数据——大多数美国大城市都开放了数据门户。

找到想要探索的数据集之后,继续用相同的方式创建Jupyternotebook,当你有一个很好的最终成果时,可以将它发布到github上。

总结

总之,作为一个初学者,我们需要使用文档学习Pandas运算的主要机制,使用真实的数据集,从Kagglekernel开始学习做数据分析,最后,在StackOverflow上检验你的知识。

ize后缀加在什么后面

后缀-ize(-ise)可以加在名词或形容词的后面构成动词,表示"照……样子做"、"按……方式处理"、"使成为……"、"变成……状态"、"……化"的意思。

例如:dramatic(戏剧的)→dramatize(改编成剧本),modern(现代的)→modernize(现代化),organ(组织)→organize(组织起来),civil(文明的)→civilize(使文明,变为文明),system(系统)→sys-temize(系统化),normal(正常的)→normalize(使正常化),equal(平等的)→equalize(使平等,使相等)

origin图像归一化处理的方法

origin图像归一化具体处理的方法如下所示:

1、打开OriginPro8.5。

2、点击SparkLines的图,可以看到趋势图。

3、纵坐标显示的是没有归一化的数据,这有时不方便数据对比。

4、下面进行归一化处理,选中整列数据。

5、右键选择Normalize点击。

6、弹出框可以设置一些信息,默认就好。

7、可以看到数据被归一化了,OriginPro默认采用的是线性归一化。

normalize和如何入门Python数据分析库Pandas的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

歌词资讯

AJohnWilliamsCelebrationOpeningGalaConcertFromWaltDisneyConcertHall2014《BDMV28.5G》 MV百度网盘下载

2024-4-19 22:52:58

歌词资讯

滨崎步AyumiHamasaki-Justthebeginning演唱会-20-TOUR2017冲绳场《ISO35.8G》 演唱会MV下载

2024-4-19 22:54:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索