查看原文
其他

从零开始学Python数据分析【1】--数据类型及结构

2017-09-29 刘顺祥 Python爱好者社区

作者:刘顺祥

个人微信公众号:每天进步一点点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数值和字符串函数。

福利:文末扫码立刻关注公众号,“Python爱好者社区”,开始学习Python课程:

关注后在公众号内回复“课程”即可获取:

1.崔老师爬虫实战案例免费学习视频。

2.丘老师数据科学入门指导免费学习视频。

3.陈老师数据分析报告制作免费学习视频。

4.玩转大数据分析!Spark2.X+Python 精华实战课程免费学习视频。

5.丘老师Python网络爬虫实战免费学习视频。



Python爱好者社区


为大家提供与Python相关的最新技术和资讯。

长按指纹 > 识别图中二维码 > 添加关注


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存