数据分析的Python快速先导课 一

  • 适合有一点Python基础的,想要做数据分析的人用作知识回顾式搭建和基础知识查询。
  • Python龙门阵快速复习

持续修正


名词

  • analytical method 分析法
    analytic 学问
    analytics 工具合集

  • python 解释性语言 写一批翻译一批 Java 写一行翻译一行

    解释器/翻译器 C编译的CPython Java编译的JPython
    包的管理器(package installer for Python) pip conda 两者都是服务器 conda上面的包的来源更多。pip服务器在国外,下载过程中可能会掉。 包的下载 安装删除更新
    scipad->pandas->numpy相互之间的关系是逐步基于前者进行开发的。
    门户 所有资源的集成
    anaconda可以一站式安装完 编辑器 解释器 模块/包 包管理器 门户 minconda比较小,不含有包.

  • IPython是jupyter的核,前身。默认情况下x和y同时输出只会输出一个,要改设置。

  • from IPython.core.interactiveshell import InteractiveShell
    InteractiveShell.ast_node_interactivity = ‘all’
    在这里插入图片描述

概念

在这里插入图片描述
kernel重启,完成类似clc和clear的操作。

  • PEP8 八荣八耻

  • python其实是需要定义的,说不需要定义的都是耍流氓

  • python里面有一些特殊命令符号,比如#注释,%魔术命令,@装饰器,pip命令,!的conda命令。 %whos
    是搜索路径下已经定义的所有变量。
    来源网络,侵权删除

  • print之后会发生什么:
    在这里插入图片描述

  • 关于赋值: 同一个赋值语言,a = ‘hello’
    ,python是将a和’hello’分别存储在两个空间,a存放’hello’的地址。但是在c语言里面是开辟一个a的空间,里面存储’hello’。java的8以后也沿用了这种类似指针的存储方法。

    Python是一个动态的语言。其实是静态的,只不过,a里面永远都是存了一个地址。因此也会说Python是一个引用型的语言。

    如果有对a的第二次定义,那么第一次定义的内容就被迫放在回收站了,再也找不到了。

  • Python是一个函数问题,没有函数的语句不存在,没有运算符的概念。常见的‘+’只是把函数变成了运算符的样式。小问题找函数,大问题找包。包里也是函数。

  • help() #dosStrinng
    print? #这是jupyter的语法,不是python的语法。

  • 句式、在后面添加文本:print(x,end = ‘wangjing’)

  • Pyhton的数据类型比较隐晦。比如加上单引号或者双引号就是字符串。

  • 汇编语言讨好计算机,Python讨好人,一切都是对象。Python运算比较慢。Python绝大多数的内置函数是C语言或者Java写出来的。

  • Python的容器。列表元组序列迭代器装饰器。其中可变数组叫列表List 不可变的数组叫元组Tuple[ˈtʌpəl],这两个是Python中有序的。字典和集合是无序的。
    元组:(1,2,3)
    列表:[1,2,3]
    集合{1,2,3}
    字典dic:{’‘a’’:1,’‘b’’:2,’‘c’’:3}(字典的本质是集合,键值对,无顺序要求,无下标概念)键的值必须加引号,否则显示未定义。

  • Python数据类型

int(整数)不可变(无序)
float(实数)不可变(无序)
str(字符串)不可变(有序)/序列类型sequence
list(列表)可变有序)/序列类型
tuple(元组)不可变(有序)/序列类型
set(集合)可变(无序)/重复过滤
dict(字典)可变(无序)/重复过滤
1.’关于有序和无序的运行区别:
首先, 这里的顺序是指下标。
在这里插入图片描述当对无序的组进行序号上的赋值时,会报错type error

2.所谓元素可变和不可变,是说不能改变其中的一个元素,但是可以整体重新赋值进行改变。frozenset可进行冻结。
3.重复过滤。由于集合的互异性,无序性。重复的元素不会进行输出。而且在jupyter notebook的作用下,会按照大小顺序进行输出。实际上还是没有顺序。可以利用set函数对数据进行过滤。其中key相同才过滤。
在这里插入图片描述在这里插入图片描述

4.字典,如想定位就找其中的键定位到其中的一个值。直接给出dic = {‘a’}时,a可能是键,也可能是下标。这里涉及到隐式索引和显示索引的知识,下次细说。

Python中写法

缩进

缩进的第一行从冒号开始,jupyter回车自动空格。

空语句

没有空语句,空白的地方要写pass
在这里插入图片描述

语句

一个程序由多个模块(py文件)组成,每个模块由语句组成,语句由函数和符号组成。

  • 一行一句
    a = 1
    b = 1
    原则上要求一行一句。最长是一行79个字符
  • 一行里面写多个句子
    c = 1; d = 1
    其中;是语句的分隔符。在其他语言里面是语句结束符,有分号的地方就是一个完整的语句。
  • 多个句子是一行,用分隔符/
    e =
    0
    在这里插入图片描述

惰性计算

在大数据分析中,内存很重要。如果没有作用的话就不会运行。因此惰性运算是有利的。与此相对应的概念是急性运算。
比如随机函数。输入range(a,b,c)(a,b,c都是数值,从a开始,小于数值b,间隔为c)(取值参考左开右闭)(a可以省略,默认从0开始,c可以省略,默认是1),直接运行这句话之后直接输出range(0,12)。Spark也是这样。
在这里插入图片描述取消惰性的技巧,比如加个*可以进行拆包

print(range(0,12,10))
print(*range(0,12,10))
list(range(0,11,1))
  • 输入1,3得到的是元组(1,3)
  • 可迭代对象和迭代器
    所有可迭代对象:凡是写在for in语句中的句子。
    迭代器:可以用next函数遍历到下一个值的对象。
    list 是可迭代对象,但不是迭代器。
    可迭代器用iter函数转换成迭代器。
    迭代器一定是可迭代对象,但是有些可迭代对象不一定是迭代器,可以通过iter函数进行转换。可以用函数进行判断是否是迭代器。
    可迭代对象才会进行惰性计算。 for in函数后面是可迭代对象就可以。区别在于模块在写的时候是否支持_iter_和 _next_函数。
    python 的for是通过迭代的方式取出来。比如for i in mylist,i就是从一个可迭代对象理面读出来的。mylist = iter(mylist)变成一个迭代器。可以用语句next(mylist)。
    在这里插入图片描述python的函数
    一、输出,二、内置函数type,hple,ida返回数值在内存中的起始地址 dar。三、类型转换函数,例如str(),tuple()。四、数学符号。
  • 切片操作,取元素方式
    在这里插入图片描述
  • python的拆包式赋值

形参实参

在这里插入图片描述有空补充balabalabalabala阿巴阿巴阿巴

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值