大家好,今天来为大家分享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的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!

