IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python中map、apply、applymap三函数的使用(用于DataFrame) -> 正文阅读

[Python知识库]Python中map、apply、applymap三函数的使用(用于DataFrame)

因为我主要是将其用于DataFrame数据中,所以我们可以这么认为

  • map(Series)—>对某列进行操作
  • apply(DataFrame)—>对行数据或者列数据进行操作
  • applymap(DataFrame)—>对所有表中元素进行操作

一,map

  • 在python2中map返回的是一个列表,而在python3中返回的是一个迭代器,如果获取转换为 list 就行了
import pandas as pd
import numpy as np

#DataFrame数据合并
temp = {"name":["一","二","三","四","五"],"年龄":[10,5,17,5,17],"num":[5,500,10000,700,8000]}
a = pd.DataFrame(temp)


#   name  年龄    num
# 0    一  10      5
# 1    二   5    500
# 2    三  17  10000
# 3    四   5    700
# 4    五  17   8000

#方法一;
def square(x) :
	return x ** 2
a["年龄"] = list(map(square,a["年龄"]))
# print(a)

#   name   年龄    num
# 0    一  100      5
# 1    二   25    500
# 2    三  289  10000
# 3    四   25    700
# 4    五  289   8000

#方法二:
a["年龄"].map(lambda x: x ** 2)
print(a)

#   name   年龄    num
# 0    一  100      5
# 1    二   25    500
# 2    三  289  10000
# 3    四   25    700
# 4    五  289   8000

二,apply

  • axis = 0 作用在列上,默认
  • axis = 1 作用在行上
import pandas as pd
import numpy as np

#DataFrame数据合并
temp = {"name":["一","二","三","四","五"],"年龄":[10,5,17,5,17],"num":[5,500,10000,700,8000]}
a = pd.DataFrame(temp)


#   name  年龄    num
# 0    一  10      5
# 1    二   5    500
# 2    三  17  10000
# 3    四   5    700
# 4    五  17   8000

###方法一;非匿名函数

#修改某一列
def xiugai(x) :
	return str(x)+"修改"
a["年龄"] = a["年龄"].apply(xiugai )
print(a)

#   name    年龄    num
# 0    一  10修改      5
# 1    二   5修改    500
# 2    三  17修改  10000
# 3    四   5修改    700
# 4    五  17修改   8000

#修改某一行
def xiugai(x) :
	return str(x)+"修改"
a.iloc[0] = a.iloc[0].apply(xiugai )
print(a)

#   name    年龄    num
# 0  一修改  10修改    5修改
# 1    二     5    500
# 2    三    17  10000
# 3    四     5    700
# 4    五    17   8000


###方法二:匿名函数

#修改某一列
a["年龄"] = a["年龄"].apply(lambda x:str(x) + "修改")
print(a)

#   name    年龄    num
# 0    一  10修改      5
# 1    二   5修改    500
# 2    三  17修改  10000
# 3    四   5修改    700
# 4    五  17修改   8000


#修改某一行
a.iloc[0] = a.iloc[0].apply(lambda x:str(x) + "修改")
print(a)

#   name    年龄    num
# 0  一修改  10修改    5修改
# 1    二     5    500
# 2    三    17  10000
# 3    四     5    700
# 4    五    17   8000

###方法三:多参数传入

# 注意这里args只能传入(元组),不能是"ok"或("ok")
def testf(x, str):
	return x,str
a["name"] = a["name"].apply(testf, args=("ok",))
print(a)

#       name  年龄    num
# 0  (一, ok)  10      5
# 1  (二, ok)   5    500
# 2  (三, ok)  17  10000
# 3  (四, ok)   5    700
# 4  (五, ok)  17   8000

三,applymap

import pandas as pd
import numpy as np

#DataFrame数据合并
temp = {"name":["一","二","三","四","五"],"年龄":[10,5,17,5,17],"num":[5,500,10000,700,8000]}
a = pd.DataFrame(temp)


#   name  年龄    num
# 0    一  10      5
# 1    二   5    500
# 2    三  17  10000
# 3    四   5    700
# 4    五  17   8000

###方法一;非匿名函数

def xiugai(x) :
	return str(x)+"修改"
a = a.applymap(xiugai )
print(a)

#   name    年龄      num
# 0  一修改  10修改      5修改
# 1  二修改   5修改    500修改
# 2  三修改  17修改  10000修改
# 3  四修改   5修改    700修改
# 4  五修改  17修改   8000修改



###方法二:匿名函数

a = a.applymap(lambda x:str(x) + "修改")
print(a)

#   name    年龄      num
# 0  一修改  10修改      5修改
# 1  二修改   5修改    500修改
# 2  三修改  17修改  10000修改
# 3  四修改   5修改    700修改
# 4  五修改  17修改   8000修改
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:24:12  更:2021-12-04 13:26:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:14:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码