Python分配函数 python 分配问题

Python中的常用内置函数有哪些呢?(1)Lambda函数
用于创建匿名函数,即没有名称的函数 。它只是一个表达式,函数体比def简单很多 。当我们需要创建一个函数来执行单个操作并且可以在一行中编写时,就可以用到匿名函数了 。
Lamdba的主体是一个表达式,而不是一个代码块 。仅仅能在lambda表达式中封装有限的逻辑进去 。
利用Lamdba函数,往往可以将代码简化许多 。
(2)Map函数
会将一个函数映射到一个输入列表的所有元素上 , 比如我们先创建了一个函数来返回一个大写的输入单词,然后将此函数应有到列表colors中的所有元素 。
我们还可以使用匿名函数lamdba来配合map函数,这样可以更加精简 。
(3)Reduce函数
当需要对一个列表进行一些计算并返回结果时 , reduce()是个非常有用的函数 。举个例子 , 当需要计算一个整数列表所有元素的乘积时 , 即可使用reduce函数实现 。
它与函数的最大的区别就是,reduce()里的映射函数(function)接收两个参数 , 而map接收一个参数 。
(4)enumerate函数
用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标 , 一般用在for循环当中 。
它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始,也可以自定义计数器的起始编号 。
(5)Zip函数
用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组 , 然后返回由这些元组组成的列表
当我们使用zip()函数时 , 如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同 。
python内置函数python内置函数是什么?一起来看下吧:
python内置函数有:
abs:求数值的绝对值
abs(-2)2
pmod:返回两个数值的商和余数
pmod(5,2)(2,1)pmod(5.5,2)(2.0,1.5)
bool:根据传入的参数的逻辑值创建一个布尔值
bool() #未传入参数Falsebool(0) #数值0、空序列等值为FalseFalsebool(1)True
all:判断可迭代对象的每个元素是否都为True值
all([1,2]) #列表中每个元素逻辑值均为True,返回TrueTrueall(()) #空元组Trueall({}) #空字典True
help:返回对象的帮助信息
help(str)Help on class str in module builtins:class str(object)|str(object='') - str|str(bytes_or_buffer[, encoding[, errors]]) - str||Create a new string object from the given object. If encoding or|errors is specified, then the object must expose a data buffer|that will be decoded using the given encoding and error handler.|Otherwise, returns the result of object.__str__() (if defined)|or repr(object).|encoding defaults to sys.getdefaultencoding().|errors defaults to 'strict'.||Methods defined here:||__add__(self, value, /)Return self value.
_import_:动态导入模块
index = __import__('index')index.sayHello()
locals:返回当前作用域内的局部变量和其值组成的字典
def f():print('before define a ')print(locals()) #作用域内无变量a = 1print('after define a')print(locals()) #作用域内有一个a变量,值为1f f()before define a{}after define a{'a': 1}
input:读取用户输入值
s = input('please input your name:')please input your name:Ains'Ain'
open:使用指定的模式和编码打开文件,返回文件读写对象
# t为文本读写 , b为二进制读写a = open('test.txt','rt')a.read()'some text'a.close()
eval:执行动态表达式求值
eval('1 2 3 4')10
除了上述举例的函数之外,内置函数按分类还可分为:
1、数学运算(7个)
2、类型转换(24个)
3、序列操作(8个)
4、对象操作(7个)
5、反射操作(8个)
6、变量操作(2个)
7、交互操作(2个)
8、文件操作(1个)
9、编译操作(4个)
10、装饰器(3个)
Python分组前言分组原理
核心Python分配函数:
1.不论分组键是数组、列表、字典、Series、函数 , 只要其与待分组变量Python分配函数的轴长度一致都可以传入groupby进行分组 。
2.默认axis=0按行分组,可指定axis=1对列分组 。
对数据进行分组操作Python分配函数的过程可以概括为:split-apply-combine三步:
1.按照键值(key)或者分组变量将数据分组 。
2.对于每组应用Python分配函数我们的函数,这一步非常灵活,可以是python自带函数 , 可以是Python分配函数我们自己编写的函数 。
3.将函数计算后的结果聚合 。
1 分组模式及其对象
1.1 分组的一般模式
三个要素:分组依据、数据来源、操作及其返回结果
df.groupby(分组依据)[数据来源].使用操作
1.2 分组依据的本质
1.3Groupby 对象
通过 ngroups 属性 , 可以访问分为了多少组:
通过 groups 属性,可以返回从 组名映射到 组索引列表的字典:
当 size 作为 DataFrame 的属性时,返回的是表长乘以表宽的大小 , 但在 groupby 对象上表示统计每个组的 元素个数:
通过 get_group 方法可以直接获取所在组对应的行,此时必须知道组的具体名字:
1.4 分组的三大操作
分组的三大操作:聚合、变换和过滤
2.聚合函数
2.1内置聚合函数
包括如下函数: max/min/mean/median/count/all/any/idxmax/idxmin/mad/nunique/skew/quantile/sum/std/var/sem/size/prod
2.2agg 方法
【a】使用多个函数
当使用多个聚合函数时,需要用列表的形式把内置聚合函数的对应的字符串传入 , 先前提到的所有字符串都是合法的 。
【b】对特定的列使用特定的聚合函数
对于方法和列的特殊对应,可以通过构造字典传入 agg 中实现,其中字典以列名为键,以聚合字符串或字符串列表为值 。
【c】使用自定义函数
在 agg 中可以使用具体的自定义函数,需要注意传入函数的参数是之前数据源中的列,逐列进行计算
【d】聚合结果重命名 如果想要对结果进行重命名,只需要将上述函数的位置改写成元组,元组的第一个元素为新的名字,第二个位置为原来的函数 , 包括聚合字符串和自定义函数
3 变换和过滤
3.1 变换函数与 transform 方法
变 换 函 数 的 返 回 值 为 同 长 度 的 序 列,最 常 用 的 内 置 变 换 函 数 是 累 计 函 数:cum- count/cumsum/cumprod/cummax/cummin ,它们的使用方式和聚合函数类似,只不过完成的是组内 累计操作 。
3.2 组索引与过滤
过滤在分组中是对于组的过滤,而索引是对于行的过滤
组过滤作为行过滤的推广,指的是如果对一个组的全体所在行进行统计的结果返回 True 则会被保留,False 则该组会被过滤,最后把所有未被过滤的组其对应的所在行拼接起来作为 DataFrame 返回 。
在 groupby 对象中,定义了 filter 方法进行组的筛?。?其中自定义函数的输入参数为数据源构成的 DataFrame 本身,在之前例子中定义的 groupby 对象中,传入的就是 df[['Height', 'Weight']] ,因此所有表方法和属性 都可以在自定义函数中相应地使用,同时只需保证自定义函数的返回为布尔值即可 。
4 跨列分组
4.1 apply 的引入
4.2 apply 的使用
在设计上 , apply 的自定义函数传入参数与 filter 完全一致,只不过后者只允许返回布尔值
【a】标量情况:结果得到的是 Series , 索引与 agg 的结果一致
【b】Series 情况:得到的是 DataFrame,行索引与标量情况一致,列索引为 Series 的索引
【c】DataFrame 情况:得到的是 DataFrame ,行索引最内层在每个组原先 agg 的结果索引上,再加一层返 回的 DataFrame 行索引,同时分组结果 DataFrame 的列索引和返回的 DataFrame 列索引一致
python分式怎么表示Fraction函数是python中实现分数的一个模块(module),模块是由别人写的 , 并且可以被拿来直接使用的代码程序,包括类、函数以及标签的定义,是python标准函数库的一部分 。使用是必须先插入模块 。
from fractions import Fraction#插入模块
f =Fraction(1,2)#创建Fraction 类,并初始化为1/2
f #输出分数类对象Fraction(1, 2)
输入分数时,Fraction开头字母必须大写 , 否则会报错 。我们对分数进行运算 。
Fraction(2,8) 1 1.5
2.75
运算中如果出现float数据类型,最终的结果将是float类型数据 。如果运算式中只有integer类型和fraction类型,输出结果将死fraction类型 。
Fraction(2,8) Fraction(2,5) 3
Fraction(73, 20)
Fraction()方法,非常有意思,可以直接接收分数字符串变成输入 。注意输入的分数要加引号 。
a = Fraction('1/5')
a
Fraction(1, 5)
直接输入小数,Fraction方法直接把小数变成分数 。
from decimal import Decimal
Fraction(1.1)
Fraction(11, 10)
把字符串变成小数,需要用到decimal类,然后把小数变成分数 。
from decimal import Decimal
Fraction(Decimal('1.1'))
Fraction(11, 10)
先把1.1字符串变成小数,然后在变成分数 。
扩展:
Python: 分数运算
fractions 模块可以被用来执行包含分数的数学运算
from fractions import Fraction
a = Fraction(5, 4)
b = Fraction(7, 16)
print(ab)
27/16
print(a * b)
35/64
# Getting numerator/denominator
c = a * b
c.nu
【Python分配函数 python 分配问题】关于Python分配函数和python 分配问题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读