Python数据分析基础教程

Python数据分析基础教程:获取数据源

俗话说,巧妇难为无米之炊。不管你厨艺有多好,如果没有食材,也做不出香甜可口的饭菜来,所以想要做出饭菜来,首先要做的就是要买米买菜。而数据分析就好比是做饭,首先也应该是准备食材,也就是获取数据源。

导入数据主要用到的是Pandas里的read_x()方法,x表示待导入文件的格式。

1、导入.xlsx文件

在Excel中导入.xlsx格式的文件时很简单的,双击打开就可以了。在Python中导入.xlsx文件的是read_excel()这种方法。

(1)基本导入

在导入文件的时候首先要指定文件的路径,也就是这个文件在电脑中的哪个文件夹下存放着。

电脑中的文件路径默认是使用\的,这个时候需要在路径前面加一个r(转义符)避免路径里面的\被转义。也可以不加转义符r,但是需要把路径里面所有的\转换成/,这个规则在导入其他格式文件的时候也是一样的,我们一般会选择在路径前面加转义符r。

(2)指定导入哪个Sheet

.xlsx格式的文件可以有很多个Sheet,你可以通过设定sheet_name参数来指定要导入哪个Sheet的文件。

除了可以指定具体Sheet的名字,还可以传入Sheet的顺序,从0开始计数。

如果不指定sheet_name参数的时候,那么默认导入的都是第一个sheet的文件。

(3)指定行索引

将本地文件导入DataFrame的时候,行索引使用的是从0开始的默认索引,可以通过设置index_col参数来设置。

index_col表示用.xlsx文件中的第几列做行索引,从0开始计数。

(4)指定列索引

将本地文件导入DataFrame的时候,默认使用的是源数据表的第一行作为列索引,也可以通过设置header参数来设置列索引。header参数值默认为0,即用第一行作为列索引;也可以是其他行,只需要传入具体的那一行即可;也可以使用默认从0开始的数作为列索引。

(5)指定导入列

有的时候本地文件的列数太多,而我们又不需要那么多列的时候,我们就可以通过设定usecols参数来指定要导入的列。

可以给usecols参数具体的某个值,表示要导入第几列,同样是从0开始计数,也可以以列表的形式传入多个值,表示要传入哪些列。

2、导入.csv文件

在Excel中导入.csv格式的文件和打开.xlsx格式的问价是一样的,双击即可。而在Python中导入.csv问价用的方法是read_csv()。

(1)直接导入

只需要指明文件路径即可。

(2)指明分隔符号

在Excel和DataFrame中的数据都是很规整的排列的,这都是工具在后台根据某条规则进行切分的。read_csv()默认文件中的数据都是以逗号分开的,但是有的文件不是用逗号分开的,这个时候就需要人为指定分隔符号,否则就会报错。

新建一个以空格作为分隔符号的文件,如下图所示:

如果用默认的逗号作为分隔符号,看看导入的数是什么样的。

我们看到所有的数据还是一个整体,并没有被分开,把分隔符号换成空格以后再看看效果:

使用正确的分隔符号以后,数据被规整的分好了。常见的分隔符号除了逗号、空格,还有制表符(\t)。

(3)指明读取行数

假设现在有一个几百兆的文件,你想了解一下这个文件里有哪些数据,那么这个时候你就没必要把全部数据都导入,你只要看到前面几行即可,因此只要设置nrows参数即可。

(4)指定编码格式

Python用得比较多的两种编码格式是UTF-8和gbk,默认编码格式是UTF-8。我们要根据导入文件本身的编码格式进行设置,通过设置参数encoding来设置导入的编码格式。有的时候两个文件看起来一样,它们的文件名一样,格式一样,但是如果它们的编码格式不一样,也是不一样的文件

比如当你把一个Excel文件另存为时会出现两个选项,虽然都是.csv文件,但是这两种格式代表两种不同的文件,如下图所示:

如果CSVUTF-8(逗号分隔)(*.csv)格式的文件,那么导入的时候就需要加encoding参数。

你也可以不加encoding参数,因为Python默认的编码格式就是UTF-8。

如果CSV(逗号分隔)(*.csv)格式的文件,那么在导入的时候就需要把编码格式更改为gbk,如果使用UTF-8就会报错。

(5)engine指定

当文件路径或者文件名中包含中文时,如果还用上面的导入方式就会报错。

这个时候我们就可以通过设置engine参数来消除这个错误。这个错误产生的原因是当调用read_csv()方法时,默认使用C语言作为解析语言,我们只需要把默认值C更改为Python就可以了,如果文件格式是CSVUTF-8(逗号分隔)(*.csv),那么编码格式也需要跟着变为utf-8-sig,如果文件格式是CSV(逗号分隔)(*.csv)格式,对应的编码格式则为gbk。

(6)其他

.csv文件也涉及行、列索引设置及指定导入某列或者某几行,设定方法与导入.xlsx文件一致。

3、导入.txt文件

(1)Excel实现

在Excel中导入.txt文件时,我们需要通过依次单击菜单栏中的数据>获取外部数据>自文本,然后选择要导入的.txt文件所在的路径,如下图所示:

选完路径以后会出现如下图所示的界面,预览文件就是我们要导入的文件,确认无误后按下一步按钮即可。

因为我们举例.txt文件用空格分开的,所以在分隔符号项勾选空格复选框,如果待导入的.txt文件是用其他分隔符号分隔的,那么选择对应的分隔符号,然后直接按完成按钮即可,如下图所示:

(2)Python实现

在Python中导入.txt文件用的方法是read_table()是将利用分隔符号分开的文件导入DataFrame的通用函数。它不仅可以导入.txt文件,还可以导入.csv文件。

从上面的代码可以看出,函数在导入.csv文件时,与read_csv()函数不同的是,即使是逗号分隔开的问价也是需要用sep指明分隔符号的,而不是像read_csv()函数那样,如果文件是逗号分隔的,则可以不用写。

read_table()函数其他参数的用法与read_csv()函数的基本一致。

4、导入sql文件

Python导入SQL文件主要分为两步,第一步将Python与数据库进行连接,第二步是利用Python执行SQL查询语句。

将python与数据库连接时利用的是python模块,这个模块Anaconda没有,需要我们手动安装的,打开AnacondaPromt,然后输入pipinstallpymysql进行安装即可,安装完成以后直接用import导入就可以使用了,具体连接方法如下:

连接好数据库以后,我们就可以执行SQL查询语句了,利用的是read_sql()方法。

除了sql和con这两个关键参数,read_table()函数也有用来设置行索引的参数index_col,设置列索引的columns,实例如下:

这里的新建数据主要指新建DataFrame数据,我们在之前谈到过,利用pd.Dataframe()方法进行新建。

当我们有了数据源以后,先别急着分析,应该先熟悉数据,只有对数据充分熟悉了,才能更好的进行分析。

1、利用head预览前几行

当数据表中包含数据行数过多时,而我们又想看一下每一列数据都是什么样的数据时,就可以只把数据表中前几行数据显示出来进行查看。

Excel其实没有严格意义的显示前几行,当你打开一个数据表时,所有的数据就全部都展示出来了,如果数据的行数过多,则可以通过滚动条来控制。

在Python中,当一个文件导入后,可以用head()方法来控制要显示哪些行。只需要在head后面的括号中输入要展示的行数即可,默认展示前5行。

2、利用shape获取数据表的大小

熟悉数据的第一点就是先看一下数据表的大小,即数据表有多少行、多少列。

在Excel中查看数据表有多少行,一般都是选中某一列,右下角就会出现该表的行数,如下图所示:

在Excel中选中某一行,右下角就会出现该表的列数,如下图所示:

在Python中获取数据表的行、列数利用的是shape方法。

Shape方法会以元组的形式返回行、列数,上面代码中的(4,4)表示df表有4行4列数据。这里需要注意的是,Python中利用shape方法获取行数和列数时不会把行索引和列索引计算在内,而Excel中是把行索引和列索引计算在内的。

3、利用info获取数据类型

熟悉数据的第二点就是看一下数据类型,不同的数据类型的分析思路是不一样的,比如数值类型的数据可以求均值,但是字符串类型的数据就没法求均值了。

在Excel中若想看某一列数据具体是什么类型的,只要把这一列选中,然后再菜单栏中的数字那一栏就可以看到这一列的数据类型。

年龄为数值类型,如下图所示:

性别为文本类型,如下图所示:

在Python中我们可以利用info()方法查看数据表中的数据类型,而且不需要一列一列查看,在调用info()方法以后就会输出整个表中所有列的数据类型。

4、利用describe获取数值分布情况

熟悉数据的第三点就是掌握数值的分布情况,即均值是多少,最值是多少,方差及分位数分别又是多少。

在Excel中如果想看某列的数值分布情况,那么手动选中这一列,在Excel的右下角就会显示出这一列的平均值、计数及求和,且只显示这三个指标,如下图所示。

在Python中只需要利用describe()方法就可以获取所有数值类型字段的分布值。

上面的表df中年龄、收入、家属数都是数值类型,所以在调用describe()方法的时候,会同时计算这三列的数值分布情况。

THE END
1.炒菜爱好者探秘小红书,专属炒菜爱好者的小红书App下载指南 专门炒菜的小红书叫什么1、红烧肉做法”等关键词,然后就会出现很多相关的教程。你可以根据自己的口味和烹饪水平选择合适的教程进行学习。通过按照教程的步骤进行操作,你就能做出美味的红烧肉了。总的来说,小红书家常菜教程是一个非常实用http://haoxinzuoguaiyueyu15youku.jk393.com/tags-28876.html
2.小红书图片怎么保存无水印小红图片保存教程小红书,是不是最近一直听到有人在说这款软件,其实这款软件真的非常的好用,你想要的东西基本上这里都全部的包括了,不会学习做饭,不会穿衣服,不会养狗狗,都可以在这上面找到教程,在最新的奥运集结,有许多奥运的小姐姐加入到这里,会在这里跟你一起聊奥运,更是有一些名人潮人在这里玩耍,会跟你分享一些生活中的另https://www.msdn.hk/news/6410.html
3.米加小镇世界怎么做饭米加小镇世界做饭教程米加小镇世界怎么做饭? 米加小镇的刀可以通过接任务进入。米加小镇游戏中开快递的刀需要在游戏中打开地图前往第一栋,开快递的刀就在其中,《米加小镇》是一款高度自由的益智类游戏,玩家可以在虚拟的城市里自由学习,各种场景都可以去互动冒险。 米加小镇世界最小红书是一款模拟城市游戏,玩家可以在游戏中建造自己的小镇,建https://www.9game.cn/news/8034035.html
4.小红书01变现教程.pdf小红书0-1变现教程.pdf 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 小红书运营变现0-1详解 帮你最快速启动小红书 避免我走过所有的坑 暴躁的女孩总结 风中的厂长出品 2021年11月1 日 使用说明 小红书平台是一直在细微变化调整的,但是底层逻辑和本质不变。大家看本篇分享的时候, 重点看本质https://max.book118.com/html/2022/0716/5140344132004310.shtm
5.5分钟制作机器人爆款视频(附详细教程)51CTO博客1、小红书接商单变现 通过这种方式快速搞流量吸粉,千粉后可以接商单。 2、赚取流量费 发布到一些靠流量就能变现的平台,赚取流量费。比如视频号的分成计划。 3、带货 比如是厨房做饭相关的视频,是不是可以挂小黄车卖厨房相关的用品呢? 再比如是做家务相关的视频,是不是可以卖居家用品呢? https://blog.51cto.com/u_13699208/11410100
6.小红书美食爆文方法论,总结4000篇笔记套路小红书爆文评价:大家纷纷表示博主的笔记确实有给自己带来实用性的帮助,更多的人也纷纷分享自己做饭的技巧在评论区产生激烈的互动,美食类的教程,用户那就是一个闭眼收藏。 抄作业: 做饭技巧,简单易懂,不只是有教程方法,对于用法用料也标注的特别清楚,这类型的内容也更容易被网友所理解,这给了很多人一种“有手就会”https://www.51zs.net/articles/10/51019
7.龙哥风向标20230411~20230418GPT拆解百万免费无资源广告下载盈利点:利用全网课程平台的引流、裂变和变现模式,可以通过收集各种互联网项目教程免费给注册用户学习,引流合伙人,分享朋友来学习课程获得佣金提成,销丨售广告位和升级合伙人变现等方式进行盈利。 操作步骤: 收集各种互联网项目教程,建立课程库 注册用户添加平台合伙人免费领取一个课程码验证后获得学习权限 https://blog.csdn.net/wizardforcel/article/details/135933078
8.web.zhengshunboli.com/nodenews/121670.shtml3d肉蒲团 迅雷下载 自己玩r头教程 英语老师没戴罩子捏了一节课视频 上课用跳D的经历 过来自己趴好选工具小视频 日韩一级片一级片 cm.apk 俄罗斯家庭熟妇乱淫视频 用他的大句号撞击我的小括号 海角社区惠州妈妈 337VT最大但人文艺术 海豚平台 麻7IIII2扣不错 久久99蜜桃精品久久久久小说 肉蒲团3d版http://web.zhengshunboli.com/nodenews/121670.shtml
9.web.nbjingxiang.com/nodenews/91778960.htm上映后口碑上涨,也有了更多的宣发抓手,比如小红书的热点#姜武老师演得不够狠,得我爸来演#,观众开始通过影片分享自己的真实经历,寻求与自身生命体验相关的广泛共鸣。而更能直接带动观影需求的#今年最想带妈妈一起看的电影#这个话题直到档期最后一天才被片方主动营销,似乎是由观众自下而上延伸出来的。微博#今年最想带http://web.nbjingxiang.com/nodenews/91778960.htm
10.赚了一年的伙食费,详细教程分享!!!ct25录音教程 做了半年自媒体才发现,B站抖音用户正在互换,顺便分享这半年来创作的经验 【2024版小红书体 运营教程】全B站最良心的小红书开店运营教程!小红书体开店起号真的快,赶快点赞收藏起来~ tik短视频AI矩阵 通宵做复制粘贴,2个月到手58960!收藏好这18个网站,你也可以做到!! 小红书9月以来的限流逻辑分析及https://xbeibeix.com/video/BV1Go4y1P7Ek
11.哔站手机下拉64xl.com下拉框软件可霸屏小红书下拉词软件下拉神器是一款专业的下拉词平台,为用户提供各种下拉功能:百度下拉丶360搜索下拉丶必应搜索下拉丶哔哩哔哩下拉丶抖音下拉等等,里面还有批量做词教程技术,可以一次性做10-50个词,省心高效!不用一个一个做了,而且批量做词,批量出词,可以实现霸屏效果! 有的客户想删除下拉,但是百度不受理,就可以使用批量做词,霸屏技https://m.bjhwtx.com/h-nd-200777.html
12.小红书客户端下载官方版小红书客户端下载软件介绍 相关教程 下载地址 特色推荐 网友评论 小红书客户端是一个优秀的生活方式平台,该软件不仅为用户提供了丰富的功能和内容。让用户可以在平台上浏览、发布笔记,分享生活点滴和购物经验,与其他用户互动交流,感受不一样的社交平台,有需要的用户可以在本站下载体验。 软件特色 【更有趣的生活方式】 这里有当代年https://www.xitongzhijia.net/soft/298694.html
13.小红书打粉陪跑2.0一整套前后端变现流程做私域流量变现?精品合集资源?淘宝开店教程?淘宝美工教程?电商商城源码?网络赚钱项目 ?超级VIP资源?淘宝https://www.58dslt.com/thread-58936-1-1.html
14.星浚项目网第534页7小红书【卖图片】一周累计变现2W+小白易上手760 8蓝海首发,AI夯大力情感语录,7天爆粉3万+,变现思路和制作全流程拆解756 9视频号童年怀旧赛道,日入300+,新老手可做579 10最新萌宠赛道,AI猫咪做饭视频,暴力变现日入500+,全流程拆解578 福缘网 > 1短剧剪辑运营全攻略:短剧二创解说+账号优化+燃剪教程,助你打造爆https://www.98zyz.cn/page/534