当前位置: 首页 > news >正文

数据分析必备:一步步教你如何用Pandas做数据分析(6)

1、Pandas 函数应用

Pandas 重建索引操作实例
要将您自己或其他库的函数应用于Pandas对象,您应该了解三个重要的方法。方法如下所述。要使用的适当方法取决于您的函数是希望对整个数据帧进行操作,还是行操作还是按列操作,还是按元素操作。
表函数应用程序:pipe()
行或列函数应用程序:apply()
元素级函数应用程序:applymap()

1.1、表函数应用程序

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

加法器函数
例如,将2个值添加到DataFrame中。加法器功能将两个数字值相加并返回总和。

  def adder(ele1,ele2):return ele1+ele2

我们使用自定义函数对DataFrame进行操作.

df = pd.DataFrame(np.random.randn(5,3),columns=['col1','col2','col3'])df.pipe(adder,2)

我们看下完整的程序:

import pandas as pd
import numpy as np
def adder(ele1, ele2):return ele1 + ele2
df = pd.DataFrame(np.random.randn(5, 3), columns=['col1', 'col2', 'col3'])
df.pipe(adder, 2)
print(df.apply(np.mean))

运行结果

       col1 col2 col30 2.176704 2.219691 1.5093601 2.222378 2.422167 3.9539212 2.241096 1.135424 2.6964323 2.355763 0.376672 1.1825704 2.308743 2.714767 2.130288

1.2、行或列函数应用程序

可以使用apply()方法沿DataFrame或Panel的轴应用任意函数,该方法与描述性统计方法一样,采用可选的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.apply(np.mean))

运行结果:

col1   -0.241399
col2    0.141497
col3   -0.102721
dtype: float64

通过传递 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.apply(np.mean))

运行结果:

col1   -0.361706
col2    0.034588
col3    0.337259
dtype: float64

实例 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.apply(np.mean))

运行结果

col1    0.081140
col2    0.772552
col3    0.749451
dtype: float64

1.3、元素级函数应用程序

并非所有函数都可以向量化(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.apply(np.mean))

运行结果:

col1   -0.062886
col2    0.404082
col3    0.026754
dtype: float64

实例 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.apply(np.mean))

运行结果:

col1    0.022429
col2    0.764061
col3    0.036986
dtype: float64
http://www.lryc.cn/news/350840.html

相关文章:

  • Spring Cloud系列—Spring Cloud Gateway服务网关的部署与使用指南
  • 创建一个python的Django项目文件
  • NB49 牛群的秘密通信
  • Git系列:git mv 高效的文件重命名与移动操作
  • 美区TikTok小店又出潜力爆品!“痘痘贴”一周销售八万单!
  • C++两种内置栈的使用
  • 如何用电脑批量操作多部手机
  • Delphi 程序例子(DPI变化自动感知及显示器相关功能演示)
  • mysql主从复制的步骤和使用到的操作命令有哪些?
  • [AIGC] Java CompletableFuture:简介及示例
  • 五步定位性能瓶颈
  • currentTarget指向监听者Target:指向触发者
  • OpenAI宫斗剧番外篇: “Ilya与Altman联手对抗微软大帝,扫除黑恶势力”,“余华”和“莫言”犀利点评
  • 网关路由SpringCloudGateway、nacos配置管理(热更新、动态路由)
  • 关于linux的防护,以及群集你要知道的有哪些11-搭建Zabbix监控系统
  • 腾讯云环境安装单机版minio
  • 蓝桥杯2023(十四届)省赛——统计日期(八重神子)
  • 【Redis基础知识一】
  • 如何在go项目中实现发送邮箱验证码、邮箱+验证码登录
  • Docker 部署 Nginx 实现一个极简的 负载均衡
  • Java刷题总结(面试)
  • ipad air6电容笔推荐,2024十大高性价比电容笔排行榜!
  • Java Memorandum
  • 大数据学习之 Hadoop部署
  • xxe漏洞--xml外部实体注入漏洞
  • Nginx反向代理与负载均衡:让网站像海豚一样灵活
  • 企业应考虑的优秀云安全措施
  • 如何将老板的游戏机接入阿里云自建K8S跑大模型(下)- 安装nvidia/gpu-operator支持GPU在容器中共享
  • 代码随想录-Day16
  • 31.@Anonymous