美文网首页
数据分析师-python基础语言入门

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

作者: 茶小美 | 来源:发表于2019-02-24 11:54 被阅读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循环遍历

    相关文章

      网友评论

          本文标题:数据分析师-python基础语言入门

          本文链接:https://www.haomeiwen.com/subject/wiseyqtx.html