欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

python数据分析函数大全_Python常用数据分析函数集合

发布时间:2024/7/23 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python数据分析函数大全_Python常用数据分析函数集合 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.Map函数 - 列表解析

①.map()函数解析

(1).python源码信息

C:\Users\ArSang>python

Python3.6.3rc1 (v3.6.3rc1:d8c174a, Sep 19 2017, 16:39:51) [MSC v.1900 64bit (AMD64)] on win32

Type"help", "copyright", "credits" or "license" formore information.>>>help(map)

Help on class mapinmodule builtins:

class map(object)| map(func, *iterables) -->map object|

| Make an iterator that computes the functionusing arguments from|each of the iterables. Stops when the shortest iterable is exhausted.|

|Methods defined here:|

| __getattribute__(self, name, /)| Returngetattr(self, name).|

| __iter__(self, /)|Implement iter(self).|

| __new__(*args, **kwargs) from builtins.type| Create and return a new object. See help(type) foraccurate signature.|

| __next__(self, /)|Implement next(self).|

|__reduce__(...)| Return state information for pickling.

View Code

(2).map()接收一个函数和一个可迭代对象list数组,并通过函数方法去迭代list中的每个元素从而得到并返回一个新的list

p_list = [1, 2, 3, 4]#构建函数

deff(x):"""实现给list中的每个元素+2

:return:"""

return x + 2

'''3.x中返回需要添加返回类型,spe=list(),2.x中不需要,在3.0中map函数仅仅是创建一个待运行的命令容器,只有其他函数调用他的时候才会返回结果

Python 2.x 返回列表 Python 3.x 返回迭代器'''spe=list(map(f, p_list))print(spe) #返回新的list

print(id(p_list)) #查询原数组内存地址

print(id(spe)) #查询新数组内存地址

"""spe≠p_list"""

View Code

(3).使用for循环迭代实现

l = [1, 2, 3, 4]defadd_list(x):return x + 2

defmap_list(f, arr_list):

temp=[]for i inarr_list:

rep=f(i)

temp.append(rep)returntemp

res=map_list(add_list, l)print(res) #返回新的数组

print(id(l)) #查询原数组内存地址

print(id(res)) #查询新数组非常地址

View Code

(4).列表解析for与map

'''Python下:for效率 < map()效率'''

②.map()函数也可接受多参数的函数

l = [1, 2, 3, 4]#将l列表加2后返回一个新列表

rep = map(lambda x: x + 2, l)print(list(rep))

a= [1, 2, 3, 4]

b= [5, 6, 7, 8]#将a,b两个数组中的元素相乘,返回一个新的列表元素

ret_list = map(lambda x, y: x *y, a, b)print(list(ret_list))

③普遍函数与匿名方法:

a = [1, 2, 3, 4]

b= [5, 6, 7, 8]defadd_fun(number1, number2):

number1+=number2returnnumber1defsum_list():#普遍函数

res1 =map(add_fun, a, b)#匿名函数

res2 = map(lambda x: x ** 2, [x for x in range(10)])print(list(res1), list(res2))if __name__ == '__main__':

sum_list()

View Code

④其他应用

a = ['YSDSASD', 'lsfrr', 'tGdDSd', 'Sdddd']deffun(f):"""将列表的第一个字母偶同意大写,后面的字母统一小写

:return:"""

return f[0:1].upper() + f[1:].lower()if __name__ == '__main__':

lit=map(fun, a)print(list(lit))

View Code

2.reduce()函数 - 递归计算

①reduce()函数解析

(1).python3中源码解析

from functools importreduceprint(help(reduce))

reduce(...)

reduce(function, sequence[, initial])->value

Apply a function of two arguments cumulatively to the items of a sequence,fromleft to right, so as to reduce the sequence to a single value.

For example, reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates

((((1+2)+3)+4)+5). If initial is present, it isplaced before the items

of the sequencein the calculation, andserves as a default when the

sequenceis empty.

View Code

(2).reduce()函数取值规则:

#python3中使用reduce需要导入

from functools importreduce

a= [1, 2, 3, 4]

app_list= reduce(lambda x, y: x *y, a)

num_list= reduce(lambda x, y: x * y, range(1, 5))print(app_list)print(num_list)'''a = [1, 2, 3, 4]

第一次相乘:x([0])*y([1])

第二次相乘:x(([0]*[1])result)*y([2])

第三次相乘:x(([0]*[1]*[2])result)*y([3])

.....'''

View Code

②其他应用

#python3中使用reduce需要导入

from functools importreduce

a= [1, 2, 3]'''x * y的单结果+1

第一次计算:1 *2 + 1 = result

第二次计算:(result*3)+1 = resulttwo

第三次计算:(resulttwo*4)+1

....'''app_list= reduce(lambda x, y: x * y+1, a)#第三参数:5 x*y的总结果*5

num_list = reduce(lambda x, y: x * y, range(1, 5), 5)print(app_list)print(num_list)

View Code

3.filter()函数 - 过滤器

①filter()函数解析

(1).python源码解析

C:\Users\ArSang>python

Python3.6.3rc1 (v3.6.3rc1:d8c174a, Sep 19 2017, 16:39:51) [MSC v.1900 64bit (AMD64)] on win32

Type"help", "copyright", "credits" or "license" formore information.>>>help(filter)

Help onclass filter inmodule builtins:classfilter(object)| filter(function or None, iterable) -->filter object|

| Return an iterator yielding those items of iterable forwhich function(item)| is true. If function is None, returnthe items that are true.|

|Methods defined here:|

| __getattribute__(self, name, /)|Return getattr(self, name).|

| __iter__(self, /)|Implement iter(self).|

| __new__(*args, **kwargs) frombuiltins.type| Create and return a new object. See help(type) foraccurate signature.|

| __next__(self, /)|Implement next(self).|

| __reduce__(...)| Return state information for pickling.

View Code

②filter()返回值

#列表解析的方式

b = [i for i in range(10) if i > 5 and i < 8]print(list(b))#filter()函数方式

b = filter(lambda x: x > 5 and x < 8, range(10))print(list(b))'''1.filter()函数首先需要返回一个bool类型的函数

2.如上示例,判断x是否大于5且小于8,最后将这个函数作用到range(10)的每个函数中,如果为True,则将满足条件的元素组成一个列表返回'''

View Code

③其他应用

(1).删除None列表元素

defis_empty(s):"""删除None元素字符

:return:"""

return s and len(s.strip()) >0if __name__ == '__main__':

b= ['', 'str', ' ', 'end', '', '']print(list(filter(is_empty, b)))

View Code

(2).匿名函数和自定义函数

importrandom#自定义函数

'''def fun(x):

return x * 2

arr_list = []

for i in range(10):

arr_list.append(random.randint(1, 20))

print(arr_list)

if __name__ == '__main__':

print(list(filter(fun, arr_list)))'''

#匿名函数

arr_lst =[]for i in range(10):

arr_lst.append(random.randint(1, 20))print(arr_lst)if __name__ == '__main__':print(list(filter(lambda x: x * 2, arr_lst)))

View Code

总结

以上是生活随笔为你收集整理的python数据分析函数大全_Python常用数据分析函数集合的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。