reduce函数、apply函数、zip函数
- 功
- 对一个序列进行压缩运算,得到一个value。
- python2中,reduce()是内置函数,而现在,py3中,他被移植到functools模块中。
from functools import reduce
- 格式
- reduce (function,iterable,[initial])
- function – 需要两个参数
- iterable – 可迭代对象
- initializer – 可选,初始参数 相当于把这个值放到列表第一位。
- reduce (function,iterable,[initial])
from functools import reduce
y=[2,3,4,5,6]
z=reduce(lambda x,y:x+y,y)
# f(x,y)=x+y
print(z) #20
from functools import reduce
y=[2,3,4,5,6]
z=reduce(lambda x,y:x+y,y,600)
# f(x,y)=x+y
print(z)
#变魔术输入2,3,4,5,6 输出23456
from functools import reduce
y=[2,3,4,5,6]
z=reduce(lambda x,y:x*10+y,y)
# f(x,y)=x+y
print(z) #23456
from functools import reduce
y=[2,3,4,5,6]
z=reduce(lambda x,y:x*10+y,y,100)#相当于把100放到列表第一位。
# f(x,y)=x+y
print(z) #10023456
apply函数
- 功能
- pandas中,应用对象是pandas中的DataFrame或者Series
- 直接对DataFrame或者Series应用函数
- 对pandas中groupby之后的聚合对象应用apply
import numpy as np
import pandas as pd
a= np.random.randint(low=0,high=4,size=(6,6))
# print(a)
data = pd .DataFrame(a)
#print(data)
b=data.apply(lambda x:x*10)
print(b)
0 1 2 3 4 5
0 0 30 0 20 10 0
1 0 10 10 0 0 20
2 30 30 30 0 10 20
3 10 30 0 10 30 20
4 0 10 20 0 30 10
5 10 30 0 20 20 10
zip函数
-
功能
- 将可迭代对象作为参数,将对象中对应的元素打包成一个个元组,返回由这些元组构成的对象
- 长度不一样的时候,以长度短的为准
-
注:
- 利用*号操作符,与zip相反,进行解压。
-
格式
-
zip(iterable1,iterable2)
-
iterable 两个或者多个可迭代序列(字符串,列表,元组,字典)
-
py2,由元组组成的列表
-
py3,
-
-
a=[1,2,3]
b=[4,5,6]
c=[1,2,3,4,5]
ziptest1=zip(a,b)
print(list(ziptest1))
#[(1, 4), (2, 5), (3, 6)]
#对字典操作只保留键,忽略值
a={1:11,2:22}
b={3:33,4:44}
c={5:55,6:66}
tp=tuple(c)
print(tp)
#(5, 6)
print(list(zip(a,b,c)))
#[(1, 3, 5), (2, 4, 6)]
包
module and package
包:包是通过使用‘.模块名’来阻止Python模块名称空间的方式。
具体而言,包就是一个包含__init__.py文件的文件夹。
目的:用文件夹将文件/模块组织起来。
注意
- py3,即使包中没有
__init__.py也可以使用; - py2,如果没有
__init__.py肯定报错。
创建包的目的不是为了运行,而是为了被导入使用。
包的本质依然还是模块。
- 使用时,import导入,导入带点的,点的左边一定是包名。
- import导入文件时,产生名称空间的名字源于文件,import包,名称空间同样源于文件(包),
__init__.py,导入包的本质导入她。
➜ school tree
.
├── api
│ ├── init.py
│ ├── students.py
│ └── versions.py
├── cmd
│ ├── init.py
│ └── manage.py
├── db
│ ├── init.py
│ └── models.py
└── init.py
import school
school.api.students.get()
直接运行报错
想要让他运行 No Error
school下的__init__.py添加from.import api
再在api下的__init__.py添加from.import students
字符编码
Python 主要识别文件内容,而不是关心扩展名
字符 ——>(机器翻译)——>二进制
字符如何应对特定数字的标准,这个标准就是字符编码。
ASCII
GBK
Unicode
UTF-8
本文介绍了Python中的reduce、apply和zip函数。reduce()用于对序列进行压缩运算,现在位于functools模块中;apply()在pandas中用于应用函数到DataFrame或Series上,特别是对groupby后的聚合对象;zip()函数则用于打包可迭代对象,返回元组组成的对象,长度以最短的对象为准。此外,还提到了Python的包管理和字符编码概念。
700

被折叠的 条评论
为什么被折叠?



