从零开始学Python数据分析【1】--数据类型及结构
作者:刘顺祥
个人微信公众号:每天进步一点点2015
一直想静下心来、花点时间学习Python3这门火爆的高级语言,但总是事与愿违,故只能挤点时间,做到每天进步一点点。从今天开始我把积累的点滴知识与大家做个分享,也欢迎感兴趣的朋友指教与提议。
首先从Python的基础数据类型和数据结构说起,数据类型主要包含三种,分别是数值型、字符型和日期时间型;数据结构主要包含列表、元组和字典。
数据类型
由于日期型和日期时间型比较特殊,我们来单独看一下。一般拿到日期型数据时基本都是字符串表示的,如 '2017-04-24' 和 '2017/04/24 22:09:48' 。该如何将其转换为日期型和日期时间型呢?这里借助datetime模块中的子例程datetime就可以轻松搞定。例如:
第一个红框表示的是导入datetime模块;
第二个红框表示使用datetime模块下的子模块datetime函数strptime完成字符串到日期时间型的转换,但奇怪的是,原始数据为日期型的字符串,但转换后成了日期时间型,单后面多了表示时间的部分00:00:00;
第三个红框:如果你不想保留日期后面的时间部分00:00:00,只需在末尾加上date()方法。
数据类型转换
第一个红框:如果你需要将字符串型的小数转化为整数,必须先将字符串转化为浮点型,然后才可以转化为整数,否则将会报错。
第一个红框:虽然数值12转化为字符串时,打印出来却没有双引号,但通过type函数反馈的数据类型确实是字符串型。
数据结构
列表:是一个可变型的序列,之所以说可变,是因为可以对列表数据类型可以进行增、删、改的操作,而不可变对象则没有这三种操作。
创建一个列表
查:
增
append方法每次只能在末尾填入一个元素;
extend方法每次在末尾插入多个元;
insert方法可在指定的位置插入一个元素;
删
pop方法在不指定参数时默认删除末尾元素,也可以指定删除某个位置的元素;
remove方法删除指定的元素值;
clear方法清空列表元素;
del函数删除列表对象;
改
改,说白了就是通过索引的方式将旧值换成新值
其他列表方法
copy方法复制一个物理对象,而非视图对象;
count方法计数;
index方法返回索引位置;
reverse方法实现元素颠倒;
sort方法排序;
创建一个元组
元组是不可变的序列,故其没有增、删、改的权限。只能进行查询(索引和切片)和一些简单的其他方法。
查
其他元组方法
由于元组没有copy方法,但如果你就是想复制一个物理对象给新的变量,可以考虑使用copy模块的copy方法。
字典
字典的创建就不是通过上面的中括号[]和圆括号()方法构建了,而是通过花括号{}或dict函数来构造键-值对。
第一个字典通过花括号构建;
第二个字典通过dict函数构建;
第三个构造了一个嵌套的字典;
由于字典也是一个可变对象,故其也有增、删、改的操作,具体如下:
查
所以,setdefault方法既可以实现查的功能,又可以完成添加键值对的功能。
增
第一个红框通过索引的方式增加键值对;
第二个红框通过setdefault方法增加键值对;
第三个红框通过update方法增加键值对;
删
pop方法对指定的键进行删除;
popitem方法每次删除末尾的一个键值对;
改
字典中更新键对应的值,既可以使用索引的方式,也可以使用update方法,但update方法中的参数一定是一个字典。如果该字典的键在dict3中存在,则操作改的动作,否则完成增加键值对的使命。
其他字典方法
这里需要注意的是,必须使用list函数套在items、keys、values等方法外面,否则不会产生列表结果,而是一个迭代器。
今天我们的内容就介绍到这边,欢迎大家拍砖。下期我们来聊聊Python数值和字符串函数。
关注后在公众号内回复“课程”即可获取:
1.崔老师爬虫实战案例免费学习视频。
2.丘老师数据科学入门指导免费学习视频。
3.陈老师数据分析报告制作免费学习视频。
4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。
5.丘老师Python网络爬虫实战免费学习视频。
为大家提供与Python相关的最新技术和资讯。
长按指纹 > 识别图中二维码 > 添加关注