要将自定义或其他库的函数应用于Pandas对象,有三个重要的方法,下面来讨论如何使用这些方法。使用适当的方法取决于函数应用于哪个层面(DataFrame,行或列或元素)。

  • 表合理函数应用:pipe()
  • 行或列函数应用:apply()
  • 元素函数应用:applymap()

一、对整个DataFrame执行操作

  可以通过将函数和适当数量的参数作为管道参数来执行自定义操作

import pandas as pd
import numpy as np # adder函数将两个数值作为参数相加并返回总和
def adder(ele1,ele2):
return ele1+ele2 df = pd.DataFrame(np.random.randn(,),columns=['col1','col2','col3'])
df.pipe(adder,) # 现在将使用自定义函数对DataFrame进行操作
print(df)

输出结果:

        col1       col2       col3
0 2.176704 2.219691 1.509360
1 2.222378 2.422167 3.953921
2 2.241096 1.135424 2.696432
3 2.355763 0.376672 1.182570
4 2.308743 2.714767 2.130288
 

二、对行或列执行操作

可以使用apply()方法沿DataFramePanel应用任意函数,它与描述性统计方法一样,采用可选的axis参数。 默认情况下,操作按列执行,将每列列为数组。

示例-1

import pandas as pd
import numpy as np df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])
df.apply(np.mean)
print(df)

输出结果:

      col1       col2        col3
0 0.343569 -1.013287 1.131245
1 0.508922 -0.949778 -1.600569
2 -1.182331 -0.420703 -1.725400
3 0.860265 2.069038 -0.537648
4 0.876758 -0.238051 0.473992
 

通过传递axis参数,可以在行上执行操作。

示例-2

import pandas as pd
import numpy as np df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])
df.apply(np.mean,axis=1)
print(df)
输出结果:
     col1         col2         col3
0 0.543255 -1.613418 -0.500731
1 0.976543 -1.135835 -0.719153
2 0.184282 -0.721153 -2.876206
3 0.447738 0.268062 -1.937888
4 -0.677673 0.177455 1.397360
 

示例-3

import pandas as pd
import numpy as np df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])
df.apply(lambda x: x.max() - x.min())
print(df)

输出结果:

       col1        col2      col3
0 -0.585206 -0.104938 1.424115
1 -0.326036 -1.444798 0.196849
2 -2.033478 1.682253 1.223152
3 -0.107015 0.499846 0.084127
4 -1.046964 -1.935617 -0.009919
 

三、对元素执行操作

并不是所有的函数都可以向量化(也不是返回另一个数组的NumPy数组,也不是任何值),在DataFrame上的方法applymap()和类似于在Series上的map()接受任何Python函数,并且返回单个值。

示例-1

import pandas as pd
import numpy as np df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])
df['col1'].map(lambda x:x*100)
print(df)

输出结果:

       col1      col2       col3
0 0.629348 0.088467 -1.790702
1 -0.592595 0.184113 -1.524998
2 -0.419298 0.262369 -0.178849
3 -1.036930 1.103169 0.941882
4 -0.573333 -0.031056 0.315590
 

示例-2

import pandas as pd
import numpy as np df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])
df.applymap(lambda x:x*100)
print(df)

输出结果:

output is as follows:
col1 col2 col3
0 17.670426 21.969052 -49.064031
1 22.237846 42.216693 195.392124
2 24.109576 -86.457646 69.643171
3 35.576312 -162.332803 -81.743023
4 30.874333 71.476717 13.028751

Pandas | 07 函数应用的更多相关文章

  1. Pandas的函数应用、层级索引、统计计算

    1.Pandas的函数应用 1.apply 和 applymap 1. 可直接使用NumPy的函数 示例代码: # Numpy ufunc 函数 df = pd.DataFrame(np.random ...

  2. pandas常用函数之shift

    shift函数是对数据进行移动的操作,假如现在有一个DataFrame数据df,如下所示: index value1 A 0 B 1 C 2 D 3 那么如果执行以下代码: df.shift() 就会 ...

  3. pandas常用函数之diff

    diff函数是用来将数据进行某种移动之后与原数据进行比较得出的差异数据,举个例子,现在有一个DataFrame类型的数据df,如下: index value1 A 0 B 1 C 2 D 3 如果执行 ...

  4. pandas 常用函数整理

    pandas常用函数整理,作为个人笔记. 仅标记函数大概用途做索引用,具体使用方式请参照pandas官方技术文档. 约定 from pandas import Series, DataFrame im ...

  5. Python web前端 07 函数及作用域

    Python web前端 07 函数及作用域 一.函数 1.有名函数和匿名函数 #函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块 #函数就是包裹在花括号里面的代码块,前面使用了关键字fun ...

  6. python pandas字符串函数详解(转)

     pandas字符串函数详解(转)——原文连接见文章末尾 在使用pandas框架的DataFrame的过程中,如果需要处理一些字符串的特性,例如判断某列是否包含一些关键字,某列的字符长度是否小于3等等 ...

  7. 【转载】pandas常用函数

    原文链接:https://www.cnblogs.com/rexyan/p/7975707.html 一.import语句 import pandas as pd import numpy as np ...

  8. Pandas常用函数入门

    一.Pandas Python Data Analysis Library或Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的.Pandas纳入了大量库和一些标准的数据模型, ...

  9. pandas常用函数

    1. df.head(n): 显示数据前n行,不指定n,df.head则会显示所有的行 2. df.columns.values获取所有列索引的名称 3. df.column_name: 直接获取列c ...

随机推荐

  1. 微信企业号SDK

    1. 微信企业号SDK class class_wxqiye { var $corpid = CorpID; var $corpsecret = CorpSecret; var $agentid = ...

  2. torch_09_GAN

    1.生成对抗网络 让两个网络相互竞争,通过生成网络来生成假的数据,对抗网络通过判别器判别真伪,最后希望生成网络生成的数据能够以假乱真骗过判别器 2.生成模型 就是‘生成’样本和‘真实’的样本尽可能的相 ...

  3. HTTP之缓存是如何保持副本的新鲜的!

    缓存保持副本的新鲜 ========================摘自<HTTP权威指南>================================= 可能不是所有已缓存副本都与服 ...

  4. C语言memset()函数:将内存的前n个字节设置为特定的值

    头文件:#include <string.h> memset() 函数用来将指定内存的前n个字节设置为特定的值,其原型为:    void * memset( void * ptr, in ...

  5. git的本质是资源库和版本(资源)目录的维护过程

    仓库的本质: 资源+索引. 对git而言,添加到暂存区的过程是,将单个资源的修改副本保存到资源库,同时维护暂存区目录的过程. git的本质是资源库和版本目录的维护过程. 一.要素 1.资源 2.副本 ...

  6. 《 .NET并发编程实战》阅读指南 - 第1章

    先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.

  7. How to call a stored procedure in EF Core 3.0 via FromSqlRaw(转载)

    问: I recently migrated from EF Core 2.2 to EF Core 3.0. Unfortunately, I haven't found a way to call ...

  8. Vue-Cli 指南

    构建项目: vue create 文件夹名称 运行项目:(README文件查询) npm run serve

  9. 存货?交期?产能不足?APS系统帮你完成计划排程

    信息化时代的今天,技术的进步.全球化的竞争与市场环境迅速变化,使得制造业企业的经营环境变得日益复杂. 集中表现在产品生命周期和交货期的缩短,与此同时顾客的需求也变得多样化和个性化.生产方式也从大批量生 ...

  10. AI:WEB:1 Walkthrough

    AI: Web: 1 Vulnhub Walkthrough靶机下载:https://www.vulnhub.com/entry/ai-web-1,353/测试方法:    Nmap网络扫描    浏 ...