萌新向Python数据分析及数据挖掘 第一章 Python基础 (上)未排版
Posted romannista
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了萌新向Python数据分析及数据挖掘 第一章 Python基础 (上)未排版相关的知识,希望对你有一定的参考价值。
因word和博客编辑器格式不能完全对接,正在重新排版,2019年1月1日发出第一章完整版
本文将参考《Python编程 从入门到实践》的讲述顺序和例子,加上自己的理解,让大家快速了解Python的基础用法,并将拓展内容的链接添加在相关内容之后,方便大家阅读。
好了!我们开始第一章的学习。
第一章 Python基础
python安装以及环境搭建
python的安装和环境变量的配置通过百度查询即可解决,这里不作赘述。
IDE的选择:因为后期需要用来做数据分析,所以直接安装Anaconda会是一个不错的选择
Anaconda详细安装使用教程
https://blog.csdn.net/program_developer/article/details/79677557
变量和简单的数据类型
这里可以想成Python是你的计算器,print(内容)的形式用来让呈现显示文字内容。
变量
变量可以这么理解:你有个朋友叫做斯坦尼斯拉夫斯基,你和他很要好,天天基在一起,但是他的名字太长了,叫起来好烦,所以你叫他屎蛋,这个“屎蛋“,就是斯坦尼斯拉夫斯基的变量名称,你叫他”屎蛋”或者斯坦尼斯拉夫斯基效果是一样的,但是叫屎蛋比较方便。当然你可以把这个称号放到别的东西身上,但是在Python的规则中,一个变量名只能对应一个实体,一个实体,可以有多个绰号。
将一条消息存储到变量中,再将其打印出来。
- stan="Hello,Konstantin Stanislavski!" #将"Hello,Konstantin Stanislavski!"命名为stan
- print(stan) #打印stan,-----print(内容)的形式用来让呈现显示文字内容。
输出:
Hello,Konstantin Stanislavski!
变量的命名规则
首字符必须是字母(大写或小写)或者一下下划线(’_’)
名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成
对大小写敏感
有效变量名称的例子有 k、__my_num、name_1 和 a4b5_c6
无效 标识符名称的例子有 2board、this is me和my-num
变量的赋值: 变量名=值
字符串
字符串是由数字、字母、下划线组成的一串字符,当作字符串的数字不能用于计算,就像员工ID号一样,只是编码,没有计算意义。
字符串是不可变的,一旦创造了一个字符串,就不能再改变它。
【单引号(‘)】和【双引号(")】两者使用都是相同的,即‘hello‘ 等同 "hello"
【三引号(‘‘‘或""")】可以表示一个多行的字符串,在三引号中可以自由的使用单引号和双引号
【转义符】可以用 ‘ 来指示单引号——注意这个反斜杠,即‘What‘s your phone number?‘。另一个表示这个特别的字符串的方法是"What‘s your phone number?",即用双引号。在一个字符串中,行末的单独一个反斜杠表示字符串在下一行继续,而不是开始一个新的行。
【自然字符串】前缀r或R表示“自然字符串”,转义失去意义,所见即所得。
【Unicode字符串】加前缀u或U, 如 u"this is an unicode string"
有时候字符串中的字母不符合我们强迫症的需求,所以Python提供了一些方法来统一字母的大小写。
- name=‘Eric‘
- print(name.lower()) #每个字母小写
- print(name.upper()) #每个字母大写
- print(name.title()) #首字母大写
输出:
eric
ERIC
Eric
有时候拿到的数据一些手残或者其他原因导致字符串前后带有空格,这种屈辱强迫症是不能忍的,必须把这些空格给我砍掉。
数字
来了,计算器来了~!
4种类型的数:整数、长整数、浮点数和负数。主要运算有加()、减(-)、乘(*)、除(/)。另外,乘方使用两个乘号表示,比如 3**2 ,即3的平方。
整数int:6、-1、070、-0520、-0x350、0x59等。
长整数long:5146561L、0132L、-0x19423L。长整型也可以使用小写L,但是还是建议大写L,避免与数字”1”混淆。Python使用”L”来显示长整型。
浮点数float:0.0、14.50、44.8e12、60.1E-12等。
复数complex:3.5j、4e5J等。用a bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
使用 str()可以将非字符串值表示为字符串。
- print(53)
- print(10-2)
- print(2*4)
- print(16/2)
- print(2**3) #2的3次方
输出:
8
8
8
8.0
8
关于这部分的官方文档:
https://docs.python.org/3/tutorial/introduction.html#using-python-as-a-calculator
注释
注释用井号#。井号后面的都会被python忽略,通常用来标注解释代码。就是你要告诉别人你这是要干啥,如果详细点,还可以记上为啥要这样做,方便后来者了解你的思路。
当前,大多数软件都是合作编写的,编写者可能是同一家公司的多名员工,也可能是众多致力于同一个开源项目的人员。训练有素的程序员都希望代码中包含注释,因此最好从现在开始就在程序中添加描述性注释。作为新手,最值得养成的习惯之一是,在代码中编写清晰、简洁的注释。
如果不确定是否要编写注释,就问问自己,找到合理的解决方案前,是否考虑了多个解决方案。如果答案是肯定的,就编写注释对的解决方案进行说明吧。相比回过头去再添加注释,删除多余的注释要容易得多。
列表简介
列表是是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。列表中的元素包括在方括号([])中,每个元素之间用逗号分割。列表是可变的数据类型,可以添加、删除或是搜索列表中的元素。
列表可以理解为你用铅笔在笔记本里记录内容, 内容可以修改,每一行用逗号隔开。
访问元素
访问列表元素可以通过索引方括号的形式,记住,索引从0而不是1开始!。
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘] # 建立一个列表,让他叫做shoplist (购物清单)
- print(shoplist)# 打印(购物清单)
- print(shoplist[0].title())#打印(购物清单的第一项的首字母大写形式)
- print(‘i want a‘ ‘ ‘ shoplist[0])#打印(我要一个 购物清单的第一项)
运行结果:
[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]
Apple
i want a apple
修改或添加元素
修改元素可以通过直接赋值的方法。
append() :将元素附加到列表末尾。#末尾添加一行笔记
insert() :在列表中指定位置添加新元素。#笔记本中指定位置添加一行笔记
del :删除列表中指定位置元素。# 笔记本中指定位置擦掉一行笔记
pop():移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。 #把笔记中一行撕出来拿着,默认撕最后一行
remove():删除列表中第一个指定值的元素。# 笔记本中指定内容的一行笔记
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]# 建立一个列表,让他叫做shoplist (购物清单)
- shoplist.append(‘duck‘)#在购物清单末尾添加一个“鸭子”
- print(shoplist)#打印购物清单
- shoplist.insert(0, ‘chick‘)#在购物清单首位插入一个“鸡”
- print(shoplist)#打印购物清单
- del shoplist[1]#删除购物笔记本中在序列1(第二个位置)的一行
- print(shoplist)#打印购物清单
- temp1 = shoplist.pop(0) #把购物清单中首行剪出来,叫做temp1(临时1)
- print(temp1)#打印临时1
- print(shoplist)#打印购物清单
- shoplist.remove(‘banana‘)#在购物清单中删除第一个内容是“banana”的一行
- print(shoplist)#打印购物清单
一行代码对比这几个方法的区别
运行结果:
[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
[‘chick’, ‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
[‘chick’, ‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
chick
[‘mango‘, ‘carrot‘, ‘banana‘, ‘duck‘]
[‘mango‘, ‘carrot‘, ‘duck‘]
组织列表
sort():对列表进行永久性排序。默认按照字母顺序排列,相反顺序的话可以传递参数reverse=True #把原笔记直接按字母顺序排列
sorted():对列表进行临时排序,不改变原本列表。 #复印一份原笔记,按顺序排列
reverse():反转列表元素排序。#反向排列笔记(没有按特定规则重排,就是最后一个变成第一个)
len() :获取列表长度。#告诉你目前记了多少行笔记了,从一开始
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]#建立一个列表,让他叫做shoplist (购物清单)
- shoplist.sort(reverse=True)#把购物清单排序(倒序)
- print(shoplist)#打印购物清单
- shoplist = [‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]#建立一个列表,让他叫做shoplist (购物清单)
- print(sorted(shoplist))#打印排序过的购物清单拷贝
- print(shoplist)#打印购物清单
- shoplist.reverse()#把购物清单顺序颠倒
- print(shoplist)#打印购物清单
- len(shoplist)#看看购物清单有几行
运行结果:
[‘mango‘, ‘carrot‘, ‘banana‘, ‘apple‘]
[‘apple‘, ‘banana‘, ‘carrot‘, ‘mango‘]
[‘apple‘, ‘mango‘, ‘carrot‘, ‘banana‘]
[‘banana‘, ‘carrot‘, ‘mango‘, ‘apple‘]
4
-
操作列表
遍历列表
利用for循环可以快速遍历列表,不要忘记它的冒号!
- shoplist=[‘apple‘,‘mango‘,‘carrot‘,‘banana‘]#一个列表,让他叫做shoplist (购物清单)
- for shop in shoplist: #凡是在购物清单里面的,一个个抓出来执行下面的这句
- print(‘i want a ‘ shop.title()) # 打印 (我要 笔记里面的一行)
运行结果:
i want a Apple
i want a Mango
i want a Carrot
i want a Banana
缩进
行首的空白(空格和制表符)决定行的缩进层次,同一层次的语句必须有相同的缩进。
不要混合使用制表符和空格来缩进,在每个缩进层次要么使用单个制表符或 两个或四个空格。
数值列表
range():生成指定步长的左闭右开区间的一系列数字。默认步长为1。 相当于中文的从1到10这样的表达
list() :将参数转化为列表。 #把别的东西抄到笔记本里面来
min() :找出数字列表最小值。
max() :找出数字列表最大值。
sum() :求数字列表所有值相加的总和。
- nums = list(range(1,5))#建立一个从1-5 不包含5的列表 叫做nums ~numbers
- for num in nums:#凡是在nums单里面的,一个个抓出来执行下面的这些
- print(num)#打印数字
- print(min(nums))#打印nums里面最小的数字
- print(max(nums))#打印nums里面最大的数字
- print(sum(nums))#打印nums里面数字的和
运行结果:
1
2
3
4
1
4
10
列表解析可将for循环和创建新元素的代码合并成一行,并自动附加新元素。
- nums = [num*2 for num in range(1,11)]# 把1-11但不包括11的整数都乘以2 写进笔记本上,叫做nums
- print(nums) #打印nums
运行结果:
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
使用列表的一部分——切片
创建切片时,要指定切片的第一个元素和最后一个元素的索引,和range()一样,区间为左闭右开。
如果没有指定第一个索引,切片将从列表开头开始。同理,如果没有指定最后一个索引,切片将直到列表末尾结束。负数索引可以输出离列表末尾相应距离的元素。
切片也可以作为列表遍历。
同时省略起始和终止索引可以穿件包含整个列表的切片,相当于复制列表。
- nums = list(range(0,11))#把0-11但不包括11的整数 写进笔记本上,叫做nums
- print(nums[0:5])#打印第0行到第5行
- print(nums[:6])#打印第0行到第6行
- Nums = nums[:] # 又把nums的全部命名为Nums
- print(Nums)#打印Nums
运行结果:
[0, 1, 2, 3, 4]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
元组
元组不可以修改,使用圆括号标识。元组也可以用循环进行遍历。我们还能给元组的变量赋值。
元组可以理解为用钢笔写的笔记,不可以随意修改,添加内容,但是要注意,如果元祖的其中一行是一个可修改的东西,那这个东西还是可以修改的,就相当于钢笔的笔记里面,其中一行是铅笔写的便签,那么可以修改这个便签的内容
- nums = (1, 2)
- print(nums)
- nums = (4, 2)
- for num in nums:
- print(num)
运行结果:
(1, 2)
4
2
以上是关于萌新向Python数据分析及数据挖掘 第一章 Python基础 (上)未排版的主要内容,如果未能解决你的问题,请参考以下文章
萌新向Python数据分析及数据挖掘 第一章 Python基础 第十节 文件和异常
萌新向Python数据分析及数据挖掘 第一章 Python基础 第九节 类
萌新向Python数据分析及数据挖掘 第一章 Python基础 第一节 python安装以及环境搭建 第二节 变量和简单的数据类型
萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (下)实操篇
萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks
萌新向Python数据分析及数据挖掘 第二章 pandas 第五节 Getting Started with pandas