先来想一下数据分析的流程,第一步获取数据,因此本节内容就是获取数据以及对数据的基本操作。

1.数据导入

1.1 导入.xlsx文件

要导入一个.xlsx后缀的Excel文件,可以使用pd.read_excel(路径)方法

结果:

df_review数据包含了两个字段,listing_id和date

读入数据时必不可少的参数就是路径,不同的操作系统下文件路径的写法也不同,通常windows操作系统下关于路径有两种写法:

  • 反斜杠“ \ ”:右键点击这个文件,选择属性,可以看到它所在的位置,默认是使用 \ 来表示,由于反斜杠“\”在Python中被定义为转义符号,因此在写的时候就要在路径的最前方加一个转义符 r,r"D:\个人\data\reviews.xlsx"
  • 斜杠“ / ”:不需要加r,全部用 / 来写:"D:/个人/data/reviews.xlsx"两种方式看个人习惯吧。

sheet_name 参数

对于.xlsx文件来说,可能会存在多个sheet表,因此也可以设置sheet_name参数指定导入的sheet表,可以传入sheet表的名字,也可以按照从0递增的顺序来指定,不指定sheet表则默认第一个sheet.

1.2 导入.csv文件

导入.csv格式的文件使用pd.read_csv(路径)的方法

结果:

df_list数据主要包括:房东ID、房东姓名、经纬度、房间类型、价格、最小可租天数、评论数量、最后一次评论时间、每月评论占比、可出租房屋、每年可出租时长等字段

指定编码格式

对于.csv文件有个重要的知识点,就是编码格式,尤其是在导入文件的时候,需要了解文件的编码格式,以免出现乱码,那么如何知道文件是什么类型的编码呢?用notepad++软件打开,右下角会显示该文件的编码格式,如刚刚导入的listings.csv文件,是utf-8编码,在书写编码时,大小写通用,且utf-8也可以写成utf8.

可以用encoding参数来设置编码格式,Python默认的编码格式是utf-8。

中文乱码问题

对于文件路径中因为出现中文而导致的乱码问题,可以加入参数engine来避免。

结果:

image.png

指定行索引

不指定行索引的话,从0开始递增的一列作为行索引,也可以指定id一列为行索引,传入参数index_col

结果:可以看到,id列成了行索引列。

指定列索引

默认第一行是列索引,也可以指定,使用header参数,header = 0,表示指定第一行为列索引。

结果:

指定导入列

有时候我们希望只导入指定的列即可,那么就传入usecols参数

结果:

2.对数据的基本操作

导入数据后,需要对数据进行一个大概的了解,比如数据集有几行几列,每个字段的数据类型是什么,有无空值等。

预览

不必完全跑出数据,只需看下前几行,用head方法,得到的是前5行数据

结果:

head()里也可传入数字,如预览前10行数据

查看数据维度

数据集有几行几列,用shape

结果:可以看到df_list数据集有28452行,16列

查看数据类型

使用dtypes可以查看数据集所有字段的数据类型

结果:

也可以单独查看某一个字段的数据类型

结果:

如果你处于想学Python或者正在学习Python,Python的教程不少了吧,但是是最新的吗?说不定你学了可能是两年前人家就学过的内容,在这小编分享一波2020最新的Python教程。获取方式,私信小编 “ 资料 ”,即可免费获取哦!

用一个完整的案例讲解Python数据分析的整个流程和基础知识的更多相关文章

  1. 【Python数据分析案例】python数据分析老番茄B站数据(pandas常用基础数据分析代码)

    一.爬取老番茄B站数据 前几天开发了一个python爬虫脚本,成功爬取了B站李子柒的视频数据,共142个视频,17个字段,含: 视频标题,视频地址,视频上传时间,视频时长,是否合作视频,视频分区,弹幕 ...

  2. python数据分析---第04章 NumPy基础:数组和矢量计算

    NumPy(Numerical Python的简称)是Python数值计算最重要的基础包.大多数提供科学计算的包都是用NumPy的数组作为构建基础. NumPy的部分功能如下: ndarray,一个具 ...

  3. KNIME + Python = 数据分析+报表全流程

    Python 数据分析环境 数据分析领域有很多可选方案,例如SPSS傻瓜式分析工具,SAS专业性商业分析工具,R和python这类需要代码编程类的工具.个人选择是python这类,包括pandas,n ...

  4. Python入门方法推荐,哪些基础知识必学?

    很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...

  5. Python爬虫(1):基础知识

    爬虫基础知识 一.什么是爬虫? 向网站发起请求,获取资源后分析并提取有用数据的程序. 二.爬虫的基本流程 1.发起请求 2.获取内容 3.解析内容 4.保存数据 三.Request和Response ...

  6. Python学习系列(二)(基础知识)

    Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...

  7. python核心编程学习记录之基础知识

    虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...

  8. 三分钟教会你Python数据分析—数据导入,小白基础入门必看内容

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:小白 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行 ...

  9. Python:Scrapy(一) 基础知识与实例

    学习自: Scrapy爬虫框架教程(一)-- Scrapy入门 - 知乎 Scrapy爬虫框架,入门案例(非常详细)_ck784101777的博客-CSDN博客_scrapy爬虫案例 爬虫框架Scra ...

随机推荐

  1. Ansible权威指南-读书笔记

    2 Ansible基础元素介绍 2.1 ansible 目录结构介绍 2.2 ansible 配置文件解析 配置文件解析顺序:当前命令执行目录-->用户家目录下的.ansible.cfg--&g ...

  2. 攻防世界web新手区

    攻防世界web新手区 第一题view_source 第二题get_post 第三题robots 第四题Backup 第五题cookie 第六题disabled_button 第七题simple_js ...

  3. 阅读了这三篇文章,你也就基本理解了ASP.NET Core MVC框架的工作原理

    <200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有深刻的理解,知道了ASP.NET Core框架针对每个请求的处理流程.在过 ...

  4. OpenCV-Python 图像金字塔 | 二十

    目标 在本章中, 我们将学习图像金字塔 我们将使用图像金字塔创建一个新的水果"Orapple" 我们将看到以下功能:cv.pyrUp(),cv.pyrDown() 理论 通常,我们 ...

  5. 百道Python面试题实现,搞定Python编程就靠它

    对于一般的机器学习求职者而言,最基础的就是掌握 Python 编程技巧,随后才是相关算法或知识点的掌握.在这篇文章中,我们将介绍一个 Python 练习题项目,它从算法练习题到机试实战题提供了众多问题 ...

  6. Taro 和 uni-app选型对比

    一.Taro和uni-app的介绍 1.taro的介绍 taro是多端统一开发框架,支持用 React 的开发方式编写一次代码,生成能运行在微信/百度/支付宝/字节跳动小程序.H5.React Nat ...

  7. VBScript - 动态 Array 实现方法大全!

    记录一些方法,关于 VBScript 中,动态 Array 的实现 ,也适用于 VBA, 很久以前,写 VBA 的时候,就觉得使用 Array 很不方便,因为大小固定, 当时想的是,要是 Array ...

  8. Unable to locate JAR/zip in file system as specified by the driver definitio

    把之前的驱动包删掉,然后把你的驱动包导入就行了 现在OK键就算正常了

  9. Springmvc与Struts区别?

    在一个技术群里看到机器人解释的二者区别,在此Mark下. 一.框架机制 spring mvc 和 struts2的加载机制不同:spring mvc的入口是servlet,而struts2是filte ...

  10. random方法

    random.randint(1,10)     # 产生 1 到 10 的一个整数型随机数 ,包括1和10random.random()        # 产生 0 到 1 之间的随机浮点数rand ...