大家好,本文将围绕python数据分析要学什么展开说明,python 数据分析学什么是一个很多人都想弄明白的事情,想搞清楚Python数据分析学多久需要先了解以下几个事情。
一,模块
1.模块的导入
①import 模块名
作用:将某模块整体导入到当前模块
使用:模块名.函数
②from 模块名 import 成员名
作用:将模块内的一个或多个成员导入到当前模块
③from 模块名 import *
作用:将模块内的所有成员导入到当前模块
2.创建模块
if_name_=='_main_':
pass
① 模块是主模块(第一个运行的模块)运行时,_name绑定‘_main_’,执行if里面的语句;
②不是主模块,而是被其他模块导入时,存储模块名,不执行if里面的语句。
③一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序不执行,我们可以用_name_属性来使该程序仅在该模块自身运行时执行。
if_name_=='_main_':
print('test模块自身在运行')
else:
print('被其他模块引入')
3.模块包(Packages)
①功能:包是用来组织模块的一个目录
②为了让Python把这个目录当做包,目录中的文件是必须要有的(在包加载时被自动调用),可以为空,也可以设置_all_变量。
③导入模块包下的模块,使用该模块下的成员
a)from 包名 import 模块名
b)from 包名.子包名 import 模块名
c)from 包名.子包名.模块名 import 成员名
d)from 包名 import * #导入包内的所有子包
e)from 包名.模块名 import * #导入包内该模块名下的所有成员
二,Python基础内容
1.python常用文件类型
源代码文件(.py),字节代码文件(.pyc),优化代码文件(.pyo)
2.编程运行方式
交互模式,脚本方式
3.Python标识符
①必须以字母或下划线_开头,后面接任意数量的下划线、字母或数字
②变量名区分大小写
③禁止使用Python关键字
4.注释
①单行注释 #
②多行注释 三引号 """ """
5.多行语句
反斜杠 \
6.输入输出
①print() 可以输出多个变量,中间用逗号隔开
②input()
7.python数据类型
①python3中有六个标准的数据类型:Number(数字),String(字符串),List(列表),Tuple(元组),Sets(集合),Dictionary(字典)
②Number:整型int,浮点型float,布尔类型bool,复数complex,无穷精度的长整型long
③String
转义字符:字符串中使用特殊字符时,Python用反斜杠\转义字符
带r或R前缀的Raw字符
#用于解决系统文件路径的问题
path=open(‘d:\temp\’,’r’)
#1 写两边反斜线
path=open('d:\\temp\\','r')
#2 用正斜线/代替反斜线\
path=open('','r')
#3 带r或R前缀的Raw字符 ,不区分大小写
path=open(r'd:\temp\','r')
8.序列赋值
序列赋值指等号左侧是元组,列表表示的多个变量名,右侧是元组,列表或字符串等序列表示的值
序列赋值可以一次性为多个变量赋值
9.运算符
①算数运算符:+ - * **(幂运算)
②逻辑运算符:not and or
③关系运算符(比较运算符):== != > <
④字符串运算符:
a)% 字符串格式化操作符:格式符为真实值预留位置,并说明真实数值应该呈现的格式。
%c 转换成字符
%d 十进制整数
%f 浮点数
%% 输出% (格式化字符串里面包括%,那么必须使用%%)
10.python数据结构
·在python语言中,序列是最基本的数据结构。如列表和元组
·其他数据结构:映射map(如字典),集合set
列表方法:方法是一个与对象有着密切关系的函数
append() 在列表末尾追加
count() 统计某元素在列表中出现的次数
pop() 移除列表中的一个元素,并返回该元素的值
reverse() 将列表中的元素反向存储
sort() 排序
index() 在列表中找出某个值第一次出现的位置
remove() 移除列表中某个值第一次出现的位置
len() 返回列表元素数
元组 :元组一经定义,其内容就不能修改
字典:字典结构是python中为一内建的映射类型
集合:无序元素集合,
11.程序控制结构
顺序结构,选择结构,循环结构
选择结构
①
if 表达式:
语句块
②
if 表达式:
语句块1
else: 语句块2
③
if 表达式1:
语句块1
elif 表达式2: 语句块2
else:
语句块3
循环结构(迭代结构)
while
for
continue语句
break语句
三,函数
1.函数的参数
①(n=2)默认参数的位置必须在必选参数(x)的后面,否则python的解释器会报语法错误
默认参数一定要用不可变对象
②可变参数:*表示 ,传入的参数个数是可变的(如list,或tuple)
③关键字参数:**表示
2.变量的作用域
①局部变量:函数内定义
②全局变量:函数外定义
global语句
语法:gloabl 变量1,变量2
作用:在函数内部修改(定义)全局变量
如果局部变量和全局变量重名,则在定义局部变量的函数中,只有局部变量是有效的。
四,面向对象基础
1.创建类
#pass是python的保留字,类似与{ }
代码:
class 类名: #类名首字母要大写
"""文档说明"""
def_init_(self,参数列表): self.实例变量=参数 #self变量绑定被创建的对象,表示对象自身
方法成员
2.创建对象
对象名=类名(参数列表)
3.私有成员
1名称前的双下划线:类私有
2名称前的但下划线:模块私有
4.继承
class 子类(父类):
def_init_(self,参数列表):
父类名._init_(参数列表)
#super()._init_(参数列表)
#super(子类,self)._init_(参数类表)
self.自身实例变量=参数
五,Python对文件操作
1.打开或新建立一个文件
访问模式
r 默认,只读
w 只用于写入
a 用于追加
rb 二进制格式打开,只读
wb 二进制格式打开,只用于写入
ab 二进制格式打开,追加
r+ 读写 ,文件指针放在文件开头(可读可写,若文件不存在,报错)
w+ 读写,如已存在则覆盖(可读可写,若文件不存在,创建)
a+ 读写,如已存在则放末尾
rb+ 二进制格式打开,读写
wb+ 二进制格式打开,读写,如已存在则覆盖
ab+ 二进制格式打开,追加
2.读/写数据
1.向文件写数据:
write方法:每调用一次,写入的数据就会覆盖原有内容
f=open('','r')
f.write('hello')
f.close()
2.读文件:
方法1:read方法
f=open('','r')
(12) #读取12个字符
() #读取所有数据
f.close()
方法2:readlines方法,读取全部数据
f=open('','r')
lines() #读取所有数据
i=1
for temp in content: %输出数据
print(''%d:%s''%(i,temp))
i=i+1
f.close()
方法3:readline方法 ,一行一行读取数据
f=open('','r')
line()
print(''1:%s''%content)
line()
print(''1:%s''%content)
f.close()
3.文件的定位读写
tell方法:返回文件的当前位置,即文件指针当前位置
f=open('','r')
(4)
()
print(''当前文件位置:'',position)
f.close()
seek方法:获取文件当前的读写位置
seek(offset,from)、
offset:偏移量,字节数
from:0(文件开头),1(当前位置),2(文件末尾)
4.文件的重命名
rename(需要修改的文件名,新文件名)
5.文件的删除
remove(待删除的文件名)
3.关闭文件
f=open('','r')
f.close()
六,异常处理
1.异常类
NameError:访问未声明的变量
SyntaxError:有语法错误
IndexError:使用序列中不存在的索引
keyError:使用映射(字典)中不存在的键
FileNotFoundError:试图打开不存在的文件
AttributeError:访问未知对象属性
所有异常都是基类Exception成员,定义在模块exceptions中
回溯 (traceback,一种错误信息)
2.异常处理
try-except语句:
try:
#语句块
except (NameError,SyntaxError) as result:
#异常处理代码
print('捕捉到异常:%s'%result)
else:
#没有捕捉到异常
3.终止行为
finally语句,用于释放资源,无论是否捕捉到异常
4.抛出异常
raise语句
1.使用类名引发异常
raise IndexError
2.使用异常类的实例引发异常
index=IndexError()
raise index
3.传递异常:再次引发刚刚发生过的异常,作用是向外传递异常
try:
raise IndexError
except:
raise
4.指定异常的描述信息
index=IndexError(‘索引下超出范围’)
5.异常引发异常
try:
num #没有给num赋值,会引发NameError异常
except Exception as exception:
raise IndexError('下标超出异常范围') from exception
七,正则表达式
1.元字符
1.匹配字符
元字符 功能说明
. 匹配除换行符以外的任意单个字符
[ ] 表示范围,匹配位于[ ]中的任意一个字符
[-] 在[ ] 之内用来表示范围,如[0-9],[a-z]
[^字符集] 匹配除了字符集以外的任意一个字符
\d 匹配任何数字,相当于[0-9]
\D 与\d相反,相当于[^0-9]
\w 匹配任何字母数字以及下划线,相当于[a-z,0-9,A-Z,_]
\W 与\w相反
\s 匹配任何空白字符串,空格,制符表,换页符
\S 与\s相反
2.匹配重复(都是与之前的字符有关)
* 匹配位于*之前的字符或子模式的0次或多次出现
+ 匹配位于+之前的字符或子模式的1次或多次出现
? 匹配位于?之前的0个或1个字符
{n} 匹配前面的字符出现n次
{m,n} {}前的字符或子模式重复至少m次,至多n次
3.匹配位置
^ 匹配行首,匹配以^后面的字符开头的字符串
$ 匹配行尾,匹配以$之前的字符结束的字符串
\b 匹配单词头或单词尾
\B 与\b含义相反
| 匹配位于|之前或之后的字符
() 将位于( )内的内容作为一个整体来对待
\ 表示位于\之后的为转义字符