我是靠谱客的博主 冷静过客,最近开发中收集的这篇文章主要介绍python sample函数_python一些函数使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

itertools的函数combinations, permutationspermutation是随机有放回抽样

combination是随机无放回抽样

from itertools import combinations, permutations

print list(combinations([1,2,3],2))-->[(1, 2), (1, 3), (2, 3)]

print list(permutations([1,2,3], 2)) -->[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]

random.sample(pop, k)

——从pop类型中随机选取k个元素,以列表类型返回,如果k大于所有元素的个数,则报错

from random import *

sample([10, 20, 30, 40, 50], k=3)[20, 30, 10]

Python filter() 函数

描述

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

语法

以下是 filter() 方法的语法:

filter(function, iterable)

参数function -- 判断函数。

iterable -- 可迭代对象

lambda

lambda函数也叫匿名函数,即没有具体名称的函数,它允许快速定义单行函数,可以用在任何需要函数的地方。这区别于def定义的函数。

#单个参数的:

g = lambda x : x ** 2

print g(3)

"""9"""

#多个参数的:

g = lambda x, y, z : (x + y) ** z

print g(1,2,2)

"""9"""

将一个 list 里的每个元素都平方:

map( lambda x: x*x, [y for y in range(10)] )

这个写法要好过

def sq(x):

return x * x

map(sq, [y for y in range(10)])

a = [1, 2, 3]

map(sq, a)

Apply

Python中apply函数的格式为:apply(func,*args,**kwargs)

当然,func可以是匿名函数。

用途:当一个函数的参数存在于一个元组或者一个字典中时,用来间接的调用这个函数,并将元组或者字典中的参数按照顺序传递给参数

解析:args是一个包含按照函数所需参数传递的位置参数的一个元组,简单来说,假如A函数的函数位置为 A(a=1,b=2),那么这个元组中就必须严格按照这个参数的位置顺序进行传递(a=3,b=4),而不能是(b=4,a=3)这样的顺序。kwargs是一个包含关键字参数的字典,而其中args如果不传递,kwargs需要传递,则必须在args的位置留空。

apply的返回值就是函数func函数的返回值。

def function(a,b):

print(a,b)

apply(function,('good','better'))

apply(function,(2,3+6))

apply(function,('cai','quan'))

apply(function,('cai',),{'b':'caiquan'})

apply(function,(),{'a':'caiquan','b':'Tom'})

输出结果:

('good', 'better')

(2, 9)

('cai', 'quan')

('cai', 'caiquan')

('caiquan', 'Tom')

DataFrame中apply的用法

#函数应用和映射

import numpy as np

import pandas as pd

df=pd.DataFrame(np.random.randn(4,3),columns=list('bde'),index=['utah','ohio','texas','oregon'])

print(df)

"""b d eutah -0.667969 1.974801 0.738890ohio -0.896774 -0.790914 0.474183texas 0.043476 0.890176 -0.662676oregon 0.701109 -2.238288 -0.154442"""

#将函数应用到由各列或行形成的一维数组上。DataFrame的apply方法可以实现此功能

f=lambda x:x.max()-x.min()

#默认情况下会以列为单位,分别对列应用函数

t1=df.apply(f)

print(t1)

t2=df.apply(f,axis=1)

print(t2)

"""b 1.597883d 4.213089e 1.401566dtype: float64utah 2.642770ohio 1.370957texas 1.552852oregon 2.939397dtype: float64"""

#除标量外,传递给apply的函数还可以返回由多个值组成的Series

def f(x):

return pd.Series([x.min(),x.max()],index=['min','max'])

t3=df.apply(f)

#从运行的结果可以看出,按列调用的顺序,调用函数运行的结果在右边依次追加

print(t3)

"""b d emin -0.896774 -2.238288 -0.662676max 0.701109 1.974801 0.738890"""

#元素级的python函数,将函数应用到每一个元素

#将DataFrame中的各个浮点值保留两位小数

f=lambda x: '%.2f'%x

t3=df.applymap(f)

print(t3)

"""b d eutah -0.67 1.97 0.74ohio -0.90 -0.79 0.47texas 0.04 0.89 -0.66oregon 0.70 -2.24 -0.15"""

#注意,之所以这里用map,是因为Series有一个元素级函数的map方法。而dataframe只有applymap。

t4=df['e'].map(f)

print(t4)

"""utah 0.74ohio 0.47texas -0.66oregon -0.15"""

最后

以上就是冷静过客为你收集整理的python sample函数_python一些函数使用的全部内容,希望文章能够帮你解决python sample函数_python一些函数使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部