python同名函数,python的函数名

excel函数

主要是文本、格式以及脏数据的清洗和转换。很多数据并不是直接拿来就能用的,需要经过数据分析人员的清理。数据越多,这个步骤花费的时间越长。

十余年的洛阳网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整洛阳建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“洛阳网站设计”,“洛阳网站推广”以来,每个客户项目都认真落实执行。

1、Trim

作用:清除掉字符串两边的空格

mysql有同名函数,py有近似函数strip

2、concatenate

合并单元格的内容,当然还有另外一种合并方式是。

‘天’‘气’‘好’=天气好。

当合并内容过多是,concatenate的效率高。

mysql有近似函数concat。

3、replace

作用:替换掉单元格的字符串。

mysql和Python中都有同名函数。

4、Substitute

和replace功能接近,区别在于,该替换是全局替换,没有起始位置的概念。

5、left/right/mid

作用:截取字符串中的字符。

mysql中有同名函数

6、Len/Lenb

返回字符串的长度,在len中,中文计算为一个,在lenb中,中文计算为两个。

Mysql和python中有同名函数。

7、Find

查找某字符出现的位置,可以指定为第几次出现,与left/right/mid结合能完成简单的文本提取。

mysql中有近似函数find_in_set,python中有同名函数。

8、search

和find类似,区别是search大小写不敏感,但支持*通配符。

9、Text

将数值转化为指定的文本格式,可以和时间序列函数一起看。

在进行多表关联或者行列对比时用到的函数,越复杂的表用的越多,但良好的表习惯可以减少这类函数的使用。

1、lookup

最被忽略的函数,功能性和vlookup一样,但是引申有数组匹配和二分法。

2、vlookup

3、index

和match组合,媲美vlookup,但是功能更强大。

4、match

5、row

返回单元格所在的行

6、column

返回单元格所在的列

7、offset

建立坐标系,以坐标系为原点,返回距离原点的值或者区域。正数代表向下或向左,负数则相反。

像Excel一样使用Python(一)

在进行数据处理时,如果数据简单,数量不多,excel是大家的首选。但是当数据众多,类型复杂,需要灵活地显示切片、进行索引、以及排序时,python会更加方便。借助python中的numpy和pandas库,它能快速完成各种任务,包括数据的创建、检查、清洗、预处理、提取、筛选、汇总、统计等。接下来几篇文章,将以excel为参照,介绍python中数据的处理。

提到pandas,那就不得不提两类重要的数据结构,Series和DataFrame,这两类数据结构都是建立在numpy的数组array基础上。与array相比,Series是一个一维的数据集,但是每个数据元素都带有一个索引,有点类似于字典。而DataFrame在数组的基础上,增加了行索引和列索引,类似于Series的字典,或者说是一个列表集。

所以在数据处理前,要安装好numpy , pandas。接下来就看看如何完成一套完整的数据操作。

创建数据表的方法分两种,分别是从外部导入数据,以及直接写入数据。

在python中,也可外部导入xlsx格式文件,使用read_excel()函数:

import pandas as pd

from pandas import DataFrame,Series

data=DataFrame(pd.read_excel('c:/python27/test.xlsx'))

print data

输出:

Gene Size Function

0 arx1 411 NaN

1 arx2 550 monooxygenase

2 arx3 405 aminotransferase

……

即:调用pandas中read_excel属性,来读取文件test.xlsx,并转换成DataFrame格式,赋给变量data。在每一行后,自动分了一个索引值。除了excel,还支持以下格式文件的导入和写入:

Python写入的方法有很多,但还是不如excel方便。常用的例如使用相等长度的字典或numpy数组来创建:

data1 = DataFrame(

{'Gene':['arx1','arx2','arx3'],

'Size':[411,550,405],

'Func':[np.NaN,'monooxygenase','aminotransferase ']})

print data1

输出

Func Gene Size

0 NaN arx1 411

1 monooxyg arx2 550

2 amino arx3 405

分配一个行索引后,自动排序并输出。

在python中,可以使用info()函数查看整个数据的详细信息。

print data.info()

输出

RangeIndex: 7 entries, 0 to 6

Data columns (total 3 columns):

Gene 7 non-null object

Size 7 non-null int64

Function 5 non-null object

dtypes: int64(1), object(2)

memory usage: 240.0+ bytes

None

此外,还可以通过shape, column, index, values, dtypes等函数来查看数据维度、行列组成、所有的值、 数据类型:

print data1.shape

print data1.index

print data1.columns

print data1.dtypes

输出

(3, 3)

RangeIndex(start=0, stop=3, step=1)

Index([u'Func', u'Gene', u'Size'], dtype='object')

Func object

Gene object

Size int64

dtype: object

在excel中可以按“F5”,在“定位条件”中选择“空值”,选中后,输入替换信息,再按“Ctrl+Enter”即可完成替换。

在python中,使用函数 isnull 和 notnull 来检测数据丢失, 包含空值返回True,不包含则返回False。

pd.isnull(data1)

pd.notnull(data1)

也可以使用函数的实例方法,以及加入参数,对某一列进行检查:

print data1['Func'].isnull()

输出

Func Gene Size

0 True False False

1 False False False

2 False False False

再使用fillna对空值进行填充:

data.fillna(value=0)

#用0来填充空值

data['Size'].fillna(data1['Size'].mean())

#用data1中Size列的平均值来填充空值

data['Func']=data['Func'].map(str.strip)

#清理Func列中存在的空格

Excel中可以按“Ctrl+F”,可调出替换对话框,替换相应数据。

Python中,使用replace函数替换:

data['Func'].replace('monooxygenase', 'oxidase')

将Func列中的'monooxygenase'替换成'oxidase'。

Excel中,通过“数据-筛选-高级”可以选择性地看某一列的唯一值。

Python中,使用unique函数查看:

print data['Func'].unique()

输出

[nan u'monooxygenase' u'aminotransferase' u'methyltransferase']

Excel中,通过UPPER、LOWER、PROPER等函数来变成大写、小写、首字母大写。

Python中也有同名函数:

data1['Gene'].str.lower()

Excel中可以通过“数据-删除重复项”来去除重复值。

Python中,可以通过drop_duplicates函数删除重复值:

print data['Func'].drop_duplicates()

输出

0 NaN

1 monooxygenase

2 aminotransferase

3 methyltransferase

Name: Func, dtype: object

还可以设置“ keep=’last’ ”参数,后出现的被保留,先出现的被删除:

print data['Func'].drop_duplicates(keep='last')

输出

2 aminotransferase

3 methyltransferase

6 monooxygenase

8 NaN

Name: Func, dtype: object

内容参考:

Python For Data Analysis

蓝鲸网站分析博客,作者蓝鲸(王彦平)

如何在Python中调用父类的同名方法

你好,请看下面的例子和说明:python中类的初始化方法是__init__(),因此父类子类的初始化方法都是这个,如果子类不实现这个函数,初始化时调用父类的初始化函数,如果子类实现这个函数,就覆盖了父类的这个函数,既然继承父类,就要在这个函数里显式调用一下父类的__init__(),这跟C++,jAVA不一样,他们是自动调用父类初始化函数的。调用父类函数有以下方法:class A:def method(self, arg):pass class B(A):def method(self, arg):# A.method(self,arg) # 1# super(B, self).method(arg) #2super().method(arg) #31.直接写类名调用2.用super(type,obj).method(arg)方法调用。3.在类定义中调用本类的父类方法,可以直接super().method(arg).在代码中调用对象的父类的方法的示例:ob = B()super(B,ob).method(arg) #调用class B的父类class A的method。初始化中调用父类初始化方法示例:class B(A):

python函数高级

一、函数的定义

函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用函数名即可

特性:

减少重复代码

使程序变得可扩展

使程序变得易维护

二、函数的参数

2.1、形参和实参数

形参,调用时才会存在的值

实惨,实际存在的值

2.2、默认参数

定义:当不输入参数值会有一个默认的值,默认参数要放到最后

2.3、 关键参数

定义: 正常情况下,给函数传参数要安装顺序,不想按顺序可以用关键参数,只需要指定参数名即可,(指定了参数名的就叫关键参数),但是要求是关键参数必须放在位置参数(以位置顺序确定对应的参数)之后

2.4、非固定参数

定义: 如你的函数在传入参数时不确定需要传入多少个参数,就可以使用非固定参数

# 通过元组形式传递

# 通过列表形式传递

# 字典形式(通过k,value的方式传递)

# 通过变量的方式传递

三、函数的返回值

作用:

返回函数执行结果,如果没有设置,默认返回None

终止函数运行,函数遇到return终止函数

四、变量的作用域

全局变量和局部变量

在函数中定义的变量叫局部变量,在程序中一开始定义的变量叫全局变量

全局变量作用域整个程序,局部变量作用域是定义该变量的函数

当全局变量与局部变量同名是,在定义局部变量的函数内,局部变量起作用,其他地方全局变量起作用

同级的局部变量不能互相调用

想要函数里边的变量设置成全局变量,可用global进行设置

五、特殊函数

5.1、嵌套函数

定义: 嵌套函数顾名思义就是在函数里边再嵌套一层函数

提示 在嵌套函数里边调用变量是从里往外依次调用,意思就是如果需要调用的变量在当前层没有就会去外层去调用,依次内推

匿名函数

基于Lambda定义的函数格式为: lambda 参数:函数体

参数,支持任意参数。

匿名函数适用于简单的业务处理,可以快速并简单的创建函数。

# 与三元运算结合

5.3、高阶函数

定义:变量可以指向函数,函数的参数可以接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数 只需要满足一下任意一个条件,即是高阶函数

接收一个或多个函数作为输入

return返回另一个函数

5.4、递归函数

定义:一个函数可以调用其他函数,如果一个函数调用自己本身,这个函数就称为递归函数

在默认情况下Python最多能递归1000次,(这样设计师是为了防止被内存被撑死)可以通过sys.setrecursionlimit(1500)进行修改

递归实现过程是先一层一层的进,然后在一层一层的出来

必须有一个明确的条件结束,要不然就是一个死循环了

每次进入更深层次,问题规模都应该有所减少

递归执行效率不高,递归层次过多会导致站溢出

# 计算4的阶乘 4x3x2x1

# 打印数字从1-100

5.5、闭包现象

定义:内层函数调用外层函数的变量,并且内存函数被返回到外边去了

闭包的意义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,优先使用自己外层包裹的作用域

Python中的“ @”(@)符号有什么作用?

【@】符号在python中是装饰器的意思。

装饰器对一个可调用对象(函数、方法、类等等)进行装饰,它返回的也是一个可调用对象。

一般情况下,装饰器是对被装饰对象的修饰与增强。用现实事物类比的话,可以类比为中间商:中间商不生产产品,它将工厂生产的产品进行包装、运输后再销售给顾客。装饰器不实现核心功能,它提供对目标函数调用的封装与强。

它装饰的方法返回值是一个对象(BillList、Bill、List[BillDetail]等),而装饰器【enabled_cache】的作用如它的名称一样:使用缓存。可以看到,这个装饰器函数中定义了一个函数【wrapper】然后将这个wrapper作为返回值。这样,原本调用ProductionBos.bill_with_last_week的代码就不需要做任何改变就能享受到ProductionBos.bill_with_last_week原有的功能(得到一个BillList对象)和enabled_cache提供的附加功能(如果该对象有缓存,就不再从数据库查询)。

python有多少内置函数

Python内置函数有很多,为大家推荐5个神仙级的内置函数:

(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的函数名
网页URL:http://azwzsj.com/article/dssochd.html