数据分析师-python基础语言入门

2019-02-24  本文已影响0人  茶小美

有些杂乱,但是是数据分析方面python的基础入门。边学习边总结做笔记,欢迎指正~争取尽快出numpy和pandas的笔记供大家参考!

前言

IDE:集成开发环境 Anaconda

Idle:纯python下的基本IDE,交互式编译器>>>

脚本试编译器:.py文件 可以用Idle运行

CMD:直接运行.py / 在CMD中直接写代码

jupyternotebook:运行 ctrl+回车;插入 alt+回车; 新增 shift+回车;导出文件:download as

一、变量和数据类型

1. python标准数据类型:int float string字符串 list列表 tuple元组 dict字典

(1)string字符串有序不可变的列表

(2)list列表[]有序可变,列表中可以使字符、数字、列表和字典

(3)tuple元组()有序不可变

(4)dict字典{x:xx}无序可变

2. var = 10.5 int(var)=10 浮点型变整型不会四舍五入

3. 运算符:a/b除法  a%b取模,返回除法后的余数  a//b取整,返回除法后的整数  a**b幂

比较运算符:=是赋值 ==是比较判断 !=不等于

逻辑运算符:and且 or或 结果是True或False bool()函数只有在0、None、[]、''为False,其余都是True

二、序列

1. 序列:序列的索引指向值,改变值就是改变索引的指向--可以通用与所有序列

(1)序列的连接:+ 序列的重复:*

(2)下标索引 :lst[0] 第一个值  lst[-1]最后一个值

(3)切片:lst[0:10]左闭右开  lst[:10]从头开始  lst[10:]到尾结束  lst[::]从头到尾  步长:lst[0:10:2]

(4)序列的内置函数 max min sum len lst.index(0)查找序列中0的索引位置 lst.count(6)查找序列中6存在几个

2.列表list

(1)添加:name = ['小米','华为']  

print(name+['苹果']) #生成新列表

add =[ '苹果','梨']

name.append(add)#改变原有列表本身,把添加的值整体加入到列表中 ['小米','华为',[ '苹果','梨']]  

name.extend(add)#改变原有列表本身,把添加的值直接加入到列表中 ['小米','华为','苹果','梨'] 

(2)删除:lst.remove(5)#改变原有列表本身,删除括号中值

del lst[2:4] 删除相应索引

lst.clear()清除所有值

(3)插入:lst.insert(0,'a') #.insert(位置索引,插入值)

(4)复制:x = list(range(10))

# m = x #m指向与x指向一样,所以x变m也变

m = x.copy() #x复制,m指向和x值相同但是是新的索引,所以x变m不变

(5)排序:.sort()方法 lst.sort() #reserve倒序,默认正序False

lst3 = sorted(lst1) #sorted()函数:排序并复制函数,得到新的列表

(6)元组:是不可变的列表 切片、索引、步长和list一样,但是不能del删除某个,可以直接删除整体,不能做元素的添加排序等

3.文本str:不可变序列

(1)转义字符:\'输出'  、\n提行

(2)序列的通用功能都可以,字符串常用功能

st.replace(old,new,count-更换几个)

st.split(',') #生成新的列表****

m.join(lst)#连接 字符串join,对象为列表,把lst中每个值用m连接

st.startswith('a'),st.endswith('a')判断开头和结尾,st.upper()#全部大写,st.lower()#全部小写

st.swapcase()#大小写互换,st.capitalize()#首字母大写,st.isnumeric()是否全是数字,st.isalpha()#是否全是字母,#删除字符末尾的空格st.rstrip() ,#删除开投空格st.lstrip(),st.strip())#删除开头和结尾的空格,st.replace(' ',''))#删除所有空格

(3)格式化字符:

#%i整数 %s字符串 %f浮点型

print('小米成绩为:%i,小红成绩%i'%(70,90)) #多个替换变量后面要用元组方式

print('%.2f'%m)#.2f会四舍五入、print('%.0f'%m)#%i不会四舍五入、

(4)format格式化:

print('今天天气怎么样{}'.format(',非常好')) #{}里面是要替换的变量/值

print('我得工作是{work}'.format(work='ahkd'))

print('{}{}{}'.format('a','a','v'),'\n', '{0}{1}{0}'.format('as','ad','dda'))#{}是占位符

print('{:.1f}'.format(4.1723))#一位小数

print('{:%}'.format(4.2))#百分号

三、字典

1.字典key键,value值:直接用key做索引,键值对需要成对出现,如果键出现多次,最后一次会被记住;key必须是不可变对象(不能以列表作为key);dic1['a'] =100如果dic1中无key=a则为添加,有则为更改a值;dic1.clear() #清空所有;del dic1 #删除字典
2.申明字典

(1)dic = dict(m=10,n='aa',h=[1,2,3]) #dict()函数方法一

(2)lst3 = (('a',1),('b',2)) 或 lst3 = [('a',1),('b',2)] 或 [['a',1],['b',2]]

print(dict(lst3)) #dict()函数方法二

(3)内置函数:

dict.update()方法:更新/合并字典,把第二个字典合并到第一个字典,改变第一个字典,不会改变第二个字典;

print(len(dic1))#求字典长度

#列表字典格式,每个字典是一条数据,数据之间用列表连在一起

print('a'in dic1) #可以用key判断是否包含,不能用value判断是否包含

(4)字典的元素访问及遍历

直接用key作为访问,直接用key作为访问

输出所有key:poi.keys(),输出所有value:poi.values(),输出所有的元素key:value:poi.items()-#生成的是复合序列:第一个key,第二个是value

四、条件和判断

1. if 、  if else、if elif else、or and 多条件判断、for遍历

2.循环控制语句:break continue

五、函数

eval()执行表达式eval(1+2):3

exec("python语句")执行python语句,以字符串形式

global 把局部变量变为全局变量

lambda作为匿名函数是不需要函数名的,主体是个表达式,而不是代码块:f = lambda a,b,c:a+b+c

(1)位置参数,即必选参数 def power(x):

(2)默认参数,调用时可变 def power(x,y=2):

(3)可变参数,传入参数个数可变 为元组,def power(*args):,

(4)关键字参数,传入参数为dict def power(**kw):

六、模块与包

1.自己创建的.py放进现有路径中:

#方法一:查看现有包的路径:import pandas print(pandas.__file__)

#方法二:直接添加路径 import sys sys.path.append(r'/Users/xy/anaconda3/lib/python3.6/site-packages')

2.自己新建的py文件就是模块,模块里面的函数就是模块的方法

3.#python标准模块--random随机数:import random

x = random.random() #生成0-1的随机数 m = random.randint(0,10) #生成a-b区间的整数

lst = list(range(20)) s = random.choice(lst) #随机取样,按照索引选择的所以里面的值必须是序列

sli = random.sample(lst,5)#随机取指定的片段 random.shuffle(lst)#元素随机打乱其本身

4.时间模块time

time.sleep(0.1) #休息函数,按秒计算

time.ctime()#直接生成当地的时间,是个字符串

time.localtime()#当前时区的结构时间是个视图 wday0-6表示周日-周六,yday表示1-366表示一年的第几天

time.strftime('%Y-%m-%d %H:%M:%S',time.localtime())# a为字符串格式 b为时间戳一般用localtime

八、文件的读写

1.文件路径的三种表达:

path1 = '\\Users\\xy\\anaconda3\\lib\\python3.6\\site-packages\\tmodel.txt' # 单个反斜杠:/

path2 = '/Users/xy/anaconda3/lib/python3.6/site-packages/tmodel.txt' # 两个斜杠:\\(第一个\是转义符)

path3 = r'\Users\xy/anaconda3\lib\python3.6\site-packages\tmodel.txt'  # r用于防止字符转义

2.读取文件r:

open(‘路径’,‘模式’,encoding=‘编码’)有中文设置成utf-8,是ASIN的用gbk,是uft-8的用utf8

print(f.read())

模式:r 读取文件 默认;  w写入  rw读取➕写人;  a追加

读取方法:.read()读取后光标会留在读取末尾

f.seek(0)#把光标重新移动到某位置

f.close()#关闭文件链接,无法读取了

os.chdir('/:/:/')#改变路径

print(f.read(10))#读取前十个

print(f.readline())#读取一行字符

print(f.readline(3))#读取一行中前几个字符

print(f.readlines())#读取整个文件,一般用来遍历

3.写入方法:.write()为了有提行可以用for循环遍历

上一篇下一篇

猜你喜欢

热点阅读