Pandas -----------------------基础知识(四)

news2024/11/16 17:29:32

自定义函数

Series

加载数据

import pandas as pd
df = pd.DataFrame({'Age': [20, 25, 30, 35, 40]})
df

# 目标: 让 Age 列 的每个元素 + num1 + num2
def add_nums(x,num1,num2):
    return x + num1 + num2
df['Age'].apply(add_nums,num1 =2,num2 =3)
法二 

df['Age'].apply(lambda x ,num1 ,num2 : x+num1+num2 , num1 =2,num2 =3)

# 目标: 输出 偶数

加载数据

df = pd.DataFrame({'vals': [15, 20, 33, 40, 50]})

def oushu(x):
    return x %2 == 0

df[df['vals'].apply(oushu)]
法二
df[df['vals'].apply(lambda x : x %2 == 0)]

案例

加载数据

import pandas as pd

# 加载数据
df = pd.read_csv('./data/b_LJdata.csv')

copy_df = df.head().copy()
copy_df
如果区域 是 天通苑租房 就改成 昌平区, 否则改成其他区
法一
def change_area(x):
    if x == '天通苑租房':
        return '昌平区'
    else: 
        return '其他区'
copy_df['区域']=copy_df['区域'].apply(change_area)
copy_df

法二
copy_df = df.head().copy()
def change_area(x,arg1,arg2):
    if x == '天通苑租房':
        return arg1
    else: 
        return arg2
copy_df['区域'] =copy_df['区域'].apply(change_area, arg1 ='昌平区',arg2 ='其他区')
copy_df

法三
copy_df = df.head().copy()

copy_df['区域'] = copy_df['区域'].apply(lambda x,arg1,arg2:arg1 if x=='天通苑租房' else arg2 ,args=('昌平区','其他区'))
copy_df

 df

axis=0  表示 列处理  
axis=1  表示 行处理
# 目标: 获取每一列的和
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df
法一
def sum_col(df):
    return df.sum(axis=0)
re = df.apply(sum_col)
re

法二
re = df.apply(lambda df: df.sum(), axis=0)
re

# 目标1: 链家将 天通苑租房 提高 2000 块 (行处理)
def change_price(df_obj):
    if df_obj['区域'] == '天通苑租房':
        df_obj['价格'] += 2000
    return df_obj
        
        
copy_df = copy_df.apply(change_price,axis=1)
copy_df

# 目标2: 包租公将所有房租 涨 1000 块 (列处理)
def change_price_2(df_obj):
    if df_obj._name  == '价格':
        df_obj += 1000
    return df_obj
        
copy_df = copy_df.apply(change_price_2,axis=0)        
copy_df

单元格自定义

 加载数据

import pandas as pd

# 创建一个示例数据框
data = {'Col1': [10, 20, 30],
        'Col2': [40, 50, 60],
        'Col3': [70, 80, 90]}
df = pd.DataFrame(data)
df
法一:
def fn(x):
    return x * 3

df = df.applymap(fn)

df

法二:
df = df.applymap(lambda df:df*3)
df

案例

# 目标: 只要值是 '2室1厅' 就改成 '3室2厅'(函数版)

加载数据

import pandas as pd

# 加载数据
df = pd.read_csv('./data/b_LJdata.csv')

copy_df = df.head().copy()
copy_df

法一:
def fn(x):
    if x == '2室1厅':
        return '3室2厅'
    else: return x
copy_df = copy_df.applymap(fn)
copy_df

法二:
copy_df = df.head().copy()
copy_df = copy_df.applymap(lambda x:'3室2厅' if x == '2室1厅' else x)
copy_df

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2170096.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大模型算法入行转行?指南来了!

最近私信问我关于入行、转行方面的问题比较多,就专门写一篇讲讲我的理解。 首先说明一下个人的背景和现状,我本人是本科学历,有互联网大厂搜推方向经验,后来跳到中厂继续做推荐,去年开始做大模型。现在是个小组长&…

用ChatGPT做数据分析与挖掘,爽!

导读:在现代数据分析中,Python凭借其强大的数据处理能力和丰富的库资源成为首选工具。ChatGPT,作为先进的自然语言处理模型,正逐步成为Python数据分析与挖掘的强大辅助工具。 通过ChatGPT的自然语言处理能力,用户可以…

模糊综合评价法详细讲解+Python代码实现

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

敏捷开发与DevOps的有机结合

在当今快速变化的技术环境中,软件开发团队面临着前所未有的挑战。客户需求不断变化,市场竞争激烈,技术更新速度加快,这些因素都要求开发团队具备高度的敏捷性和高效的运营能力。为了应对这些挑战,越来越多的企业选择将…

性能调优知识点(mysql)一

Mysql 索引 索引介绍 1.索引是排好序的数据结构。他的目的是为了提升查询效率。 2.mysql存储引擎分为innodb和myisam。它是用来形容表的。 innodb支持事务、外键、行锁 myisam不支持事务、外键 3.myisam使用3个文件来存储每张表数据,每个文件名以表名开头&#x…

智能硬件语音交互接入大模型知识库的排错指引

前言 前篇讲了把大模型知识库接入到聆思CSK6大模型开发板的文章,这篇讲一下配置失败时该怎么去定位问题和解决。 阅读这篇文章前建议先看:三步把知识库接到智能语音硬件上-CSDN博客 一、排错流程顺序参考 二、云端鉴权问题处理 原因1:聆思平…

css动态边框

参考&#xff1a; Clip-path实现按钮流动边框动画_在线clip-path-CSDN博客 https://www.5axxw.com/questions/simple/9ju5yt#google_vignette <div class"bottom-top-item-centent bottom-top-item-left"><vue-seamless-scroll :data"listLeftData&q…

稿件生产业务并发竞争场景下的安全性保障

一. 背景 视频业务作为B站内容生态的心脏&#xff0c;承载了海量的视频内容和用户互动。它不仅是用户获取信息、享受娱乐的窗口&#xff0c;更是UP主展示创意、分享知识的舞台。在设计和实现视频系统时&#xff0c;我们致力于平衡用户体验、内容分发的效率&#xff0c;同时确保…

H5支付 两种成熟方案

H5支付&#xff0c;对前端来讲并不算难。主要工作量都在后端&#xff0c;需要对接支付宝API文档配置大量参数与商户信息。 前端需要做的是正常调取支付接口&#xff0c;拿到配置好的支付信息&#xff0c;触发后续流程&#xff0c;再利用本地存储拿支付订单号判断支付结果即可【…

SpringBoot使用EasyPoi根据模板导出word or pdf

1、导出效果 1.1 wrod 1.2 pdf 2、依赖 <!--word--><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.3.0</version></dependency><dependency><groupId>cn.…

leetcode968. 监控二叉树

给定一个二叉树&#xff0c;我们在树的节点上安装摄像头。 节点上的每个摄影头都可以监视其父对象、自身及其直接子对象。 计算监控树的所有节点所需的最小摄像头数量。 示例 1&#xff1a; 输入&#xff1a;[0,0,null,0,0] 输出&#xff1a;1 解释&#xff1a;如图所示&#x…

回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测

回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提取特征与原始特征进行融合预测 文章目录 一、基本原理原理流程总结 二、实验结果三、核心代码四、代码获取五、总结 回归预测|基于卷积神经网络-支持向量机的数据回归预测Matlab程序CNN-SVM 卷积提…

有关若依登录过程前端的对应处理学习

导言 在用C#搞完个后端后想用若依的前端做对接&#xff0c;不过很久没搞过若依了&#xff0c;想趁这个二次开发的过程记录熟悉一下登录的过程 过程 验证&#xff0c;在permission.js的路由守卫&#xff0c;这里在用户发起api请求时会验证用户的请求是否有token&#xff0c;对…

网络编程(10)——json序列化

十、day10 今天学习如何使用jsoncpp将json数据解析为c对象&#xff0c;将c对象序列化为json数据。jsoncp经常在网络通信中使用&#xff0c;也就是服务器和客户端的通信一般使用json&#xff08;可视化好&#xff09;&#xff1b;而protobuf一般在服务器之间的通信中使用 json…

C# 委托(Delegate)二

一.委托的多播&#xff08;Multicasting of a Delegate&#xff09;&#xff1a; 委托对象&#xff0c;使用 "" 运算符进行合并&#xff0c;一个合并委托调用它所合并的两个委托。使用"-" 运算符从合并的委托中移除组件委托。 注&#xff1a;只有相同类型…

使用 Napkins.dev 将草图转换为应用程序

在现代前端开发中&#xff0c;快速将设计草图转换为实际的应用程序代码是一个巨大的优势。Napkins.dev 是一个利用人工智能将网站设计草图转换成实际应用程序的平台。本文将介绍如何使用 Napkins.dev 进行这一过程。 什么是 Napkins.dev&#xff1f; Napkins.dev 是一个开源平…

机器学习-TopicModel

概率图模型基础概率潜在语义分析&#xff08;PLSA&#xff09;LDA 概率图模型基础 猜球游戏 有两个信封&#xff0c;其中一个装有一个红球&#xff0c;一个黑球。另一个信封有两个黑球。 。 假设红球价值100元&#xff0c;黑球价值1元。 你随机从其中拿起一个信封&#xff0c;从…

Linux高阶IO之select多路转接

文章目录 select多路转接timeoutfd_set返回值执行过程总结 select多路转接 多路转接有三种方案,分别是select,poll和epoll,我们都会讲解和介绍 select的函数原型是这样的 他一共有五个参数,但是可以分为三组 nfds:需要监视的最大的文件描述符值1readfds:可读文件描述符集合 …

C#邮件发送:实现自动化邮件通知完整指南!

C#邮件发送性能怎么优化&#xff1f;使用C#发送邮件的设置步骤&#xff1f; 无论是用于客户服务、内部沟通还是项目管理&#xff0c;自动化邮件通知都能显著提高效率和响应速度。AokSend将详细介绍如何使用C#邮件发送功能来实现自动化邮件通知系统。 C#邮件发送&#xff1a;配…

二、词法分析,《编译原理》(本科教学版),第2版

文章目录 一、词法分析器1.1 词法分析器的作用1.2 词法分析器的设计方法1.3Antlr 词法分析器生成器1.3.1 环境准备1.3.2 词法分析器自动生成初体验&#xff08;需了解少许正则表达式概念&#xff09;1.3.2.1 创建工程1.3.2.2 空白符逻辑1.3.2.3 实现INT类型1.3.2.4 实现单行注释…