python数据分析基础知识点一

map函数用于遍历序列。对序列中每个元素进行操作,最终获取新的序列

如:

 li=[11,22,33]
 new_list=map(lambda a:a+100,li)
 list(new_list)
输出结果:
[111, 122, 133]

如:

 li=[11,22,33]
 s1=[1,2,3]
 new_list=map(lambda a,b:a+b,li,s1)
 list(new_list)
结果为: [12, 24, 36]
筛选函数filter:用于对序列中的元素进行筛选,最终获取符合条件的序列
li=[11,22,33]
new_list=filter(lambda x:x>22,li)
list(new_list)
结果为:[33]
累计函数(reduce):用于对序列内所有元素进行累计操作
 from functools import reduce
 li=[11,22,33,44]
 reduce(lambda arg1,arg2:arg1+arg2,li)
结果为:110

reduce函数还可以接受第3个可选元素,作为计算的初始值,如果把初始值设为100

 reduce(lambda arg1,arg2:arg1+arg2,li,100)
结果为:210

计算过程如下:
第一步:先计算初始值和第1个元素,即100+11,结果为:111
第一步:再把结果和第2个元素计算,即111+22,结果为:133
依次计算…

类和对象:

注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身

私有变量和私有方法:

类可以有公有变量和公有方法,也可以有私有变量和私有方法,公有部分的对象可以从外部访问,而私有部分的对象只有在类的内部才可访问。在普通变量名或方法名前加两个"_",即可成为私有变量或方法

实例:
#! /usr/bin/python
# -*- coding:utf-8 -*-
class PubAndPri:
    pub="这是公有变量"
    __pri="这是私有变量"
    def __init__(self):
        self.other="公有变量也可以这样定义"
    def out_pub(self):
        print("公有方法",self.pub,self.__pri)
    def __out_pri(self):
        print("私有方法",self.pub,self.__pri)
pp = PubAndPri()
pp.out_pub()     #公有方法 这是公有变量 这是私有变量
print(pp.pub,pp.other)#这是公有变量 公有变量也可以这样定义
try:
    pp.__out_pri()
except Exception as e:
    print("调用私有方法发生错误!")  #走到了这一步

try:
    print(pp._pri)
except Exception as e:
    print("访问私有变量发生错误!")  #走到了这一步

结果为:
公有方法 这是公有变量 这是私有变量
这是公有变量 公有变量也可以这样定义
调用私有方法发生错误!
访问私有变量发生错误!

注意1:使用str.split()省略分隔符时,会按所有的分隔符号分割,包括\n(换行) \t(tab缩进)等。
注意2:列表和元组之间是可以相互转换的,如list(tuple)、tuple(list)元组操作速度比列表快,列表可改变,元组不可改变,可以将列表转为元组的"写保护"状态。
注意3:当变量时私有的时候,使用_xxx来表示变量是很好地习惯,这时变量在模块或类外不可以使用,意思是只有类对象和子类对象自己能访问到这些变量
注意4:以__双下划线开头的变量名__xxx代表私有成员,意思是只有类对象自己能访问,连子类对象也不能访问这个数据
关于备份:

很多时候处理数据前需要先把数据复制一份,做个备份,但是python里复制数据有不少坑点
参见下面的实例:

>>> a=[3,2,5,4]
>>> id(a)    #查看a的存储地址
46419656
>>> c=a      #复制一个副本c
>>> c
[3, 2, 5, 4]
>>> id(c)	 #查看c的存储地址
46419656	 #看到c的地址和a的地址一致,说明c不是真正的复制
>>> b=a[:]	 #复制一个副本b,把a的所有元素赋值给b
>>> b
[3, 2, 5, 4]
>>> id(b)    #查看b的存储地址
46416712     #发现b和a的地址不同,说明备份成功

从上面可以看出,c仅仅是a的一个标签,不论是a改变还是c改变都是改变了同一个地址里的内容,所以互相都有影响只有b才是真正的备份。
另外也可以使用copy来进行复制:

>>> a=[1,2]
>>> b=a
>>> c=a.copy()
>>> d=a[:]
>>> b
[1, 2]
>>> c
[1, 2]
>>> d
[1, 2]
>>> id(a)
46416904
>>> id(b)
46416904
>>> id(c)
46416712
>>> id(d)
46419656

可以看到c和d都是对a的复制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、判断题: Python语言是一种高级语言。【对】 2、多选题: Jupyter notebook中运行单元格的方法有哪几种?( ) 选项: A:Enter B:Shift+Enter C:Ctrl+Enter D:F5 答案: 【Shift+Enter;Ctrl+Enter】 3、单选题: Jupyter notebook的记事本文件扩展名为:( ) 选项: A:m B:py C:pyc D:ipynb 答案: 【ipynb】 4、判断题: Jupyter notebook 中的助手需要额外安装。答案: 【对】 5、单选题: Python安装扩展库常用的是( )工具 选项: A:setup B:update C:pip D:run 答案: 【pip】 6、单选题: 关于Python语言的注释,以下选项中描述错误的是:( ) 选项: A:python语言有两种注释方式:单行注释和多行注释 B:python语言的单行注释以#开头 C:python语言的单行注释以单引号开头 D:Python语言的多行注释以’’’(三个单引号)开头和结尾 答案: 【Python语言的单行注释以单引号开头】 7、单选题: 以下选项中,不是pip工具进行第三方库安装的作用的是:( ) 选项: A:安装一个库 B:卸载一个已经安装的第三方库 C:列出当前系统已经安装的第三方库 D:脚本程序转变为可执行程序 答案: 【脚本程序转变为可执行程序】 8、单选题: 安装一个库的命令格式是:( ) 选项: A:pip uninstall  B:pip -h C:pip install  D: ip download  答案: 【pip install 】 9、判断题: 标准的缩进格式是Python的语法之一。 选项: A:对 B:错 答案: 【对】 10、多选题: 下列导入第三库的操作中正确的是:( ) 选项: A:import numpy B:import numpy as np C:from matplotlib import pyplot D:from urllib.request import urlopen 案: 【import numpy;import numpy as np;from matplotlib import pyplot;from urllib.request import urlopen】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值