《python数据分析》由会员分享,可在线阅读,更多相关《python数据分析(45页珍藏版)》请在金锄头文库上搜索。
1、python数据分析(pandas)几年后发生了。在使用SAS工作超过5年后,我决定走出自己的舒适区。作为一个数据科学家,我寻找其他有用的工具的旅程开始了!幸运的是,没过多久我就决定,Python作为我的开胃菜。我总是有一个编写代码的倾向。这次我做的是我真正喜欢的。代码。原来,写代码是如此容易!我一周内学会了Python基础。并且,从那时起,我不仅深度探索了这门语言,而且也帮助了许多人学习这门语言。Python是一种通用语言。但是,多年来,具有强大的社区支持,这一语言已经有了专门的数据分析和预测模型库。由于Python缺乏数据科学的资源,我决定写这篇教程来帮助别人更快地学习Python。在本教
2、程中,我们将讲授一点关于如何使用Python进行数据分析的信息,咀嚼它,直到我们觉得舒适并可以自己去实践。目录1. 数据分析的Python基础O为什么学Python用来数据分析oPython2.7v/s3.4o怎样安装Pythono在Python上运行一些简单程序2. Python的库和数据结构oPython的数据结构oPython的迭代和条件结构oPython库3. 在Python中使用Pandas进行探索性分析o序列和数据框的简介分析Vidhya数据集贷款的预测问题4. 在Python中使用Pandas进行数据再加工5. 使用Python中建立预测模型o逻辑回归o决策树o随机森林让我们开始
3、吧1数据分析的Python基础为什么学Python用来数据分析很多人都有兴趣选择Python作为数据分析语言。这一段时间以来,我有比较过SAS和R。这里有一些原因来支持学习Python:开源免费安装极好的在线社区很容易学习可以成为一种通用的语言,用于基于Web的分析产品数据科学和生产中。不用说,它仍然有几个缺点:它是一种解释性的语言,而不是编译的语言,因此可能占用更多的CPU时间。然而,由于它节省了程序员的时间(由于学习的方便),它可能仍然是一个很好的选择。Python2.7v/s3.4这是关于Python的一个最具争议的话题。你可能总是不能避免遇到,尤其是如果你是一个初学者。这里没有正确/错
4、误的选择。它完全取决于具体情况和你的需要。我会尝试给你一些建议,以帮助你做出明智的选择。为什么选择Python2.71. 极好的社区支持!这是你在初期需要的东西。Python2发行于2000年末,已经被使用超过15年。2. 很多第三方库!虽然许多库已经提供了3.X的支持,但仍然有大量的模块只工作在2.X。如果你计划将Python用于具体的应用,如Web开发这种高度依赖外部模块的,你选择2.7可能会更好。3. 3.X版本的一些特性有向后兼容性,可以使用2.7版本。为什么选择Python3.41. 更整齐和更快!Python开发者修正了一些固有的问题和小缺点,以此为未来建立一个强大的基础。这些可能
5、不是很相关,但最终会很重要。欢迎下载#2. 这是未来!2.7是2.X族发布的最后一个版本,并且最终每个人都要转移到3.X版本。Python3在过去5年已经发布的稳定版本,并将继续。没有明确的赢家,但我想,底线是,你应该专注于学习Python语言。版本之间的转换应该只是一个时间问题。敬请期待,不久的将来一个专门对比Python2.X和3X的文章!怎样安装Python有两种方法安装Python你可以直接从项目网站下载Python,然后单独安装你想要的组件和库或者,你可以下载并安装一个包,它附带了预装的库。我建议您下载Anaconda。另一种选择是EnthoughtCanopyExpress。第二种
6、方法提供了一个避免麻烦的安装,因此我会推荐给初学者。这种方法是你必须等待整个包进行升级,即使你只是对一个单一的库的最新版本感兴趣。它应该不重要,直到和除非,直到和除非,你正在做的尖端统计研究。选择开发环境旦你已经安装了Python,选择环境可以有很多种选择。这里是3个最常见的选择:终端/基于ShellIDLE(默认环境)iPythonnotebook类似于R的markdownPython2.7.6Shsll-1XFileEditShellDebugOptionsWindowsHelpPytaon2.7.6(default,Nov102013,19:24:24)MSCv.15004tit(AMD
7、64)onwin32Tyecopyrightnfcreditsorrrlicense()nforiajareinforraation.4I而环境权取决于你的需要,我个人更喜欢iPythonnotebook点。它提供了许多良好的功能,编写代码的同时还可以用于记录,你可以选择在上面运行代码块(而不是一行一行的执行)。我们在整个教程中将使用Ipython环境热身:跑第一个Python程序你可以使用Python作为一个简单的计算器来开始:JUpytCrMyFirstiPythonNotebookLastcheckpoint:3mutes姒FileEditViewInsertCel!KernelHelp
8、因+|6+HCfviarkdownCellToolbarNoneIn1:2+3ffFirftprograminiPythonnotebookenvironmentMultiplelinescanbewrittenhereandthey呎IIexectecOutll5Thisisanexampleofmarkdowntext.Thisisusefulforaddingcomm(在我们深入挖掘如何解决问题之前,让我们退后一步,了解Python的基本知识。当我们知道数据结构和迭代和条件结构是形成任何语言的关键。在Python中,这些包括列表、字符串、元组、字典、for循环,while循环,if-el
9、se等等,让我们来看看下面的因素。2.在Python上运行一些简单程序Python的数据结构以下是Python中使用的一些数据结构。你应该熟悉他们,以便恰当的使用它们。列表列表是在Python中最通用的数据结构。列表可以这样简单的定义:就是在方括号中一系列用逗号来分隔的值。列表可能包含不同类型的项,但它们通常都有相同类型的。Python列表是可变的,列表中的单个元素是可以改变的。这里是一个快速的例子,定义了一个列表,然后访问它:ListsAlistcanbesimplydefin&dbywr:ingcommas-eparatedvaluesinsquare-brackets.In1:3quat
10、es_li3=01.4r9r1r2EIn2:sqiiare3_li5tOut2:OrLr4r1名2IndividLaleIemeritscfalistc日nbeaccessedbywritingtheindexnumberinsquaretrackt.PleasenetsthatthsfirstindexcfalistisCanIn:3:squareg_listtfljsedejilizg1r-eius:tieiteiziOtit:3:0Arangscfscriptcanbeaccc5&dbyhavingfirstindexandlastindexIn4!s=7Li3E&g_list2:4.r
11、stur-js吕rsevlistOut4:4.3ANegstiveindexaccesses,thelistfromendIn3:sqi_LaEeslisfc-2sfJtsiaoizldtiies&and.2asteleiziers上zntft:elistOuts5z1-cAfewcommonmethodsapflicatle1clistsinclude:3|:FEndOe3ctend()inssrtOremoieipopQecuntECirtOrev&rssO字符串字符串可以简单的使用单引号(”)、双引号(”)或三引号()来定义。字符串封闭三引号()中可以跨越多行的代码,在文档字符串中是很常
12、用的(记录功能的Python方式)。作为一个转义字符。请注意Fython中的字符串是不可变的,所以你不能改变字符串的部分。StringsAstringcanbesimplydefinedbyu&ingsingle(),-double()ortriple(quotationIn创二greeting=Hellsprintgreeting1prliit彳g匸总etinprintgreeting+greeting1lenigzzeetingjgzeetiELg+WarIdjffEeturn#Fr-zjstsiffStringaijaractBronthezrsdBJi1lersgthofstr-JLi
13、igCofiea.tsfaafciaj2HelloWcildRavi*stringscanbeuserdtcpassonsiringasis,Pytlwninterpretterijoe-snetalterthestring,ifyouspecifastringtobewRaws1stringIn8z9tmt=t1nis叵neulinecharacterbydefault.printsxmt*口anewlinecharacterbyiefault-Pythcmstringsareimmutable-andhence-canbechanged.Doingsowillresultinanerror
14、In.9igreeting11=1i1#ngtochangeH<oHz.Sfeould上zns.nTraceback(mostrecentcalllst)in(J1greeting1;=1i1Tcying匸口chsngeHell口匸口Hi.ShcuLlresultinsn旨匚匸口匸TirpeErrcrzrstrrcbjsctdesgsi口tauppcsEtitemagaigniEientCcmnnonstringmethadsiricluijelowe-rQ,upperO,stripij,isdigitO,isspaceC),findQ.replac&Q,spIrtQandjainQ.Th
15、e-seareusuallyveryImanipulationsocleaningcmtextfields.元组元组由一系列由逗号分隔的值表示。元组是不可变的,俞出的用括号包围,目的是嵌套结构可以被正确处理。此外,尽管元组是不可变的,但它们可以在必要是含有可变数据。因为元组是不可变的,不可改变的,他们相对列表来说可以处理的更快。因此,如果你的清单是不可能改变的,你应该使用元组,而不是列TuplesAtupleisrepresente-dbyanumberofvaluesseparate-dbycommas.二二LQ:t.巳JtampL巳=Qflff乳lEf25st二二:t%匕片ief25)二二12:t-jpl&Karr.