参考网址:
Python3 pandas用法大全 - 整合侠 - 博客园
import numpy as np import pandas as pd import csv import xlrd pd.set_option('display.max_columns', None) # 读写文件 data=pd.DataFrame(pd.read_csv('D:/****.csv',engine='python',encoding='utf-8',error_bad_lines=False)) data.to_csv('D:/***.csv',encoding='utf-8',index=None) # 查看 data.head() data.shape # 去重 data=data.drop_duplicates(['**']) # 对列** 进行去重处理 # 删除列名 data = data.drop(['xx1', 'xx2', ...], axis =1) # 拼接 上下拼接 d1=pd.concat([dd1,dd12],axis=0,ignore_index=False) # 提取某一列,series格式 d1_cdnf = d1[d1['cdn']==False] # 列重命名 data.rename(columns={'url':'url_value','ip_address':'ad'},inplace = True) # apply函数应用 def ii(id): return uuid.uuid1().hex data['id'] = data['id'].apply(ii) # lambda介绍 lambda原型为:lambda 参数:操作(参数) lambda函数也叫匿名函数,即没有具体名称的函数,它允许快速定义单行函数,可以用在任何需要函数的地方。这区别于def定义的函数。 lambda与def的区别: 1)def创建的方法是有名称的,而lambda没有。 2)lambda会返回一个函数对象,但这个对象不会赋给一个标识符,而def则会把函数对象赋值给一个变量(函数名)。 3)lambda只是一个表达式,而def则是一个语句。 4)lambda表达式” : “后面,只能有一个表达式,def则可以有多个。 5)像if或for或print等语句不能用于lambda中,def可以。 6)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] 和 f = lambda x : x + 1 我们会发现,等号右边的东西完全可以脱离等号左边的东西而存在,等号左边的名字只是右边之实体的标识符。如果能习惯 [1, 2, 3] 单独存在,那么 lambda x : x + 1 也能单独存在其实也就不难理解了,它的意义就是给「某个数加一」这一运算本身。 现在回头来看 map() 函数,它可以将一个函数映射到一个可枚举类型上面。沿用上面给出的 a 和 f,可以写: map(f, a) 也就是将函数 f 依次套用在 a 的每一个元素上面,获得结果 [2, 3, 4]。现在用 lambda 表达式来替换 f,就变成: map( lambda x : x + 1, [1, 2, 3] ) 会不会觉得现在很一目了然了?尤其是类比 a = [1, 2, 3] r = [] for each in a: r.append(each+1) # 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',