pandas的功能特色,pandas好用吗

  pandas的功能特色,pandas好用吗

  本文主要介绍了熊猫中的三个利器:map、apply、applymap,这三个利器在数据处理中经常用到。有需要的请参考。

  00-1010模拟数据1、mapdemo实际数据2、applydemoapply实现要求3、applymapDF数据加1保留2位有效数字。在实际工作中,我们在使用pandas进行数据处理时,往往会以某种相同的方式对数据框中的单行、多行(列也适用)甚至整个数据进行处理,比如将数据中的性别字段替换为男性1,女性0。

  这时候很容易想到for循环。使用for循环是一种简单直接的方法,但效率很低。本文介绍了pandas中的三个利器:map、apply、applymap来解决上述同样的需求。

  mapapplyapplymap

  

目录

 

  模拟数据说明了三个函数的使用。在这个例子中,我学习了如何生成各种模拟数据。数据如下:

  进口熊猫作为pd

  将numpy作为np导入

  boolean=[真,假]

  性别=[男性,女性]

  color=[白色,黑色,红色]

  #了解如何生成模拟数据:一个很好的例子

  #学习在随机模块中使用randint方法

  df=pd。data frame({ height : NP . random . randint(160,190,100),

  weight : NP . random . randint(60,90,100),

  smoker :[NP . random . randint(0,2,100)中x的boolean[x]],

  gender :[NP . random . randint(0,2,100)中x的gender[x]],

  年龄 :np.random.randint(20,60,100),

  color :[color[x]for x in NP . random . randint(0,len(color),100)]

  })

  df.head()

  

模拟数据

 

  

1、map

 

  Map()将根据提供的函数映射指定的序列。

  第一个参数函数用参数序列中的每个元素调用函数function,并返回一个包含每个函数返回值的新列表。

  映射(函数,可迭代)

  

demo

 

  将性别更改为1表示男性,0表示女性。

  #模式1:通过字典映射实现。

  Dic={ 男性 33601,女性 33600} #由字典映射

  Df1=Df.copy() # copy,不破坏原始数据df。

  df1[性别]=df1[性别]。地图(驾驶员信息中心)

  df1

  #模式2:由函数实现

  def map_gender(x):

  如果x==男性,则性别=1,否则为0

  返回性别

  df2=df.copy()

  #传入S形数据df[gender]中的每个值

  df2[性别]=df2[性别]。地图(地图_性别)

  df2

  

实际数据

 

  apply方法的原理类似于map方法,只是apply可以传入函数更复杂的函数。可以说,apply是map的高级版本。

  Pandas的apply()函数可以作用于Series或整个DataFrame,其功能是自动遍历整个Series或DataFrame,并对每个元素运行指定的函数。

  在DataFrame对象的大多数方法中,都会有一个轴参数,它控制你指定的操作是沿着0轴还是1轴。Axis=0表示对column列执行操作,axis=1表示对row行执行操作。

  

2、apply

 

  在上面的数据中,从年龄字段的所有值中减去3,即加-3。

  定义应用年龄(x,偏差):

  返回x偏差

  df4=df.copy()

  # df4[age]作为第一个值传递给apply_age函数,args是第二个参数。

  df4[年龄]=df4[年龄]。应用(apply_age,args=(-3,))

  计算身体质量指数指数

  #实现身体质量指数指数的计算:体重/身高的平方(kg/m 2)

  def身体质量指数(x):

  重量=x[重量]

  高度=x[高度]/100

  身体质量指数=体重/(身高**2)

  返回身体质量指数

  df5=df.copy()

  5 [身体质量指数]=DF5。Apply(身体质量指数,轴=1) # DF5现在相当于身体质量指数函数中的参数X;Axis=1表示在列上操作。

  df5

  数据帧类型数据的应用操作概要:

  当axis=0时,对每列列执行指定的函数;当axis=1时,在row的每一行上执行指定的函数。无论axis=0还是axis=1,传入的指定函数的默认形式都是Series,可以通过设置raw=True将它传入numpy数组。在对每个序列执行结果后,结果将被整合并返回(如果你想有一个返回值,你需要在定义函数时返回相应的值)

  

demo

 

  通过apply方法实现上述性别转换要求。apply方法中传递的第一个参数必须是函数。

  

apply实现需求

 

  

3、applymap

 

  applymap函数用于对测向数据中的每个元素执行相同的函数操作,例如在下列各项中加1:

  

DF数据加1

 

  关于熊猫的三个工具(map,apply,applymap)的详细说明,本文到此结束。更多关于熊猫地图apply applymap的信息,请搜索热门IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持热门的IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: