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

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

自定义函数

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 == 0df[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 arg1else: 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['价格'] += 2000return df_objcopy_df = copy_df.apply(change_price,axis=1)
copy_df

# 目标2: 包租公将所有房租 涨 1000 块 (列处理)
def change_price_2(df_obj):if df_obj._name  == '价格':df_obj += 1000return df_objcopy_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 * 3df = 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

相关文章:

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

自定义函数 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…...

鼎阳加油-IOC关键技术问题的解决记

鼎阳SDS6204示波器EPICS IOC的搭建-CSDN博客 这款示波器在labview下工作的很好,以前搭建逐束团3D系统时连续几个月不间断的工作连接从没断过线,并做过速率测试,单通道时10Hz的波形更新速率都可以达到: 鼎阳SDS6204示波器波形读取…...

【HarmonyOS】TaskPool非阻塞UI

TaskPool方法不会阻塞UI,如果做上传图片的功能加载Loading记得使用TaskPool,Promise、Async/Await都会阻塞UI 【引言】 发现Promise可能会阻塞UI,尝试使用async或await,但发现它们仍然会导致阻塞。后来看到chaoxiaoshu回复的Tas…...

关于使用/bin/sh -c 用于Dockerfile的Entrypoint的问题

问题描述 相同的dockerfile,使用不同的基础镜像制作镜像1号进程不相同 ENTRYPOINT都是: /bin/sh -c pre-start.sh && myblockserver 的形式 就是执行多个命令命令,最后的一个命令是阻塞的 镜像1: 1号进程是 /bin/sh -c pre-start…...

JS---获取浏览器可视窗口的尺寸

innerHeight 和 innerWidth 这两个方法分别是用来获取浏览器窗口的宽度和高度&#xff08;包含滚动条的&#xff09; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible&q…...

对抗攻击方法详解:梯度攻击、转移攻击与模型集成攻击

对抗攻击方法详解&#xff1a;梯度攻击、转移攻击与模型集成攻击 近年来&#xff0c;随着深度学习模型在各个领域取得惊人突破&#xff0c;对抗攻击&#xff08;Adversarial Attack&#xff09; 逐渐成为研究热点。对抗攻击旨在通过在输入数据上施加精心设计的微小扰动&#x…...

GPU并行效率问题——通过MPS提升GPU计算收益

GPU并行效率问题——通过MPS提升GPU计算收益_gpu mps-CSDN博客...

patch 命令:补丁的应用

一、命令简介 ​diff​ 和 patch​ 是传统的文件比较和应用差异的工具&#xff0c;而 git​ 是一个更现代、功能更全面的版本控制系统&#xff0c;它内置了 diff​ 和 patch​ 的功能&#xff0c;并且提供了更多用于代码管理和协作的高级特性。 diff, patch 和 git 之间的关系…...

仓颉编程语言4,遇到BUG求助

本来准备整仓颉链接Mysql数据库。参考&#xff1a;GitCode - 全球开发者的开源社区,开源代码托管平台 这种方式是拿mysql官方的dll&#xff0c;编译一下&#xff0c;然后再封装成仓颉数据库驱动。这种方式不够逼格&#xff0c;所以准备解析mysql网络协议&#xff0c;从0开始写…...

SpringIOCDI

1.IOC 1.1.IOC概述 IOC&#xff1a; Inversion Of Control&#xff0c;简称IOC&#xff0c;也被称为控制反转。对象的创建权由程序员主动创建转移到容器&#xff0c;由容器创建、管理对象&#xff0c;这种思想称为控制反转。这个容器称为IOC容器或Spring容器被IOC容器创建、管…...

单细胞Seruat和h5ad数据格式互换(R与python)方法学习和整理

SeruatV4数据转化为h5ad格式数据 1、导入(R) rm(list ls()) library(Seurat) library(qs) library(reticulate) library(hdf5r) library(sceasy) library(BiocParallel) register(MulticoreParam(workers 4, progressbar TRUE)) scRNA <- qread("sc_dataset.qs&q…...

分布式难题-三座大山NPC

文章目录 1. 三座大山 NPC 的概念2. NPC 细分理解2.1. Network Delay 网络延迟2.2. Process Pause 进程暂停2.3. Clock Drift 时钟漂移Is the Algorithm Asynchronous? 本文参考&#xff1a; RedLock红锁安全性争论&#xff08;上&#xff09; https://martin.kleppmann.com/…...

两个方法教你设置Excel密码,防止修改和复制Excel表格内容

EXCEL是一款功能强大的电子表格软件&#xff0c;广泛用于各个地方。然而&#xff0c;对于一些重要的表格文件需要通过设置密码来限制大就的修改和复制权限。因而&#xff0c;对于一个EXCEL表格&#xff0c;通过密码设置大家有访问表格的权限&#xff0c;但无法修改数据的权限。…...

Java解析Excel文件

目录 背景 技术选型 开源Java框架选型 1. Apache POI 2. EasyExcel 收费Java框架选型 1. Spire.XLS for java 2. Aspose 总结 背景 在低代码产品的研发过程中&#xff0c;为用户提供数据导入导出的能力时&#xff0c;无法避免的就是对EXCEL解析的能力&#xff0c;所以本篇通过介…...

Require:基于雪花算法完成一个局部随机,全局离散没有热点切唯一的数值Id生成器。

【雪花算法】雪花算法&#xff08;Snowflake Algorithm&#xff09;是Twitter开源的用于生成唯一ID的算法&#xff0c;它可以在分布式系统中生成唯一的64位长整数ID。这种ID生成方式既保证了趋势递增&#xff0c;又保证了在不同数据中心、不同机器上生成的ID的唯一性。 符号位&…...

libevent - Macro function

TAILQ_INIT /** Tail queue functions.* 尾队列的头结点初始化为空队列。*/ #define TAILQ_INIT(head) do { \(head)->tqh_first NULL; \(head)->tqh_last &(head)->tqh_first; \ } while (/*CONSTCOND*/0)TAILQ_INIT 宏是一个用于初始化尾队列头部…...

408算法题leetcode--第17天

101. 对称二叉树 101. 对称二叉树思路&#xff1a;递归&#xff0c;对称即两个子树的左边和右边分别一样&#xff1b;一个子树是左中右遍历&#xff0c;另一个是右中左遍历&#xff1b;写的时候可以分三步&#xff0c;确定函数参数以及返回类型&#xff0c;确定终止条件&#…...

机器人顶刊IEEE T-RO发布无人机动态环境高效表征成果:基于粒子的动态环境连续占有地图

摘要&#xff1a;本研究有效提高了动态环境中障碍物建模的精度和效率。NOKOV度量动作捕捉系统助力评估动态占用地图在速度估计方面的性能。 近日&#xff0c;上海交通大学、荷兰代尔夫特理工研究团队在机器人顶刊IEEE T-RO上发表题为Continuous Occupancy Mapping in Dynamic …...

spring-boot web + vue

依赖的软件 maven 1. 官网下载zip 文件&#xff0c;比如apache-maven-3.9.9-bin.zip 2. 解压到某个盘符&#xff0c;必须保证父亲目录的名字包含英文&#xff0c;数字&#xff0c;破折号&#xff08;-&#xff09; 3. 设置环境变量M2_HOME, 并将%M2_HOME%\bin添加到windown…...

HDFS分布式文件系统01-HDFS架构与SHELL操作

HDFS分布式文件系统 学习目标第一课时知识点1-文件系统的分类单机文件系统网络文件系统分布式文件系统 知识点2-HDFS架构知识点3-HDFS的特点知识点4-HDFS的文件读写流程知识点5-HDFS的健壮性 第二课时知识点1-HDFS的Shell介绍HDFS Shell的语法格式如下。HDFS Shell客户端命令中…...

麒麟系统openkylin性能调优实战:Unixbench跑分从100到900的完整指南

麒麟系统OpenKylin性能调优实战&#xff1a;UnixBench跑分从100到900的完整指南 在国产操作系统逐渐成熟的今天&#xff0c;OpenKylin作为麒麟家族的重要成员&#xff0c;其性能表现越来越受到开发者和系统管理员的关注。UnixBench作为经典的Unix-like系统性能测试工具&#xf…...

为什么FNF PsychEngine能成为节奏游戏创作的首选工具?

为什么FNF PsychEngine能成为节奏游戏创作的首选工具&#xff1f; 【免费下载链接】FNF-PsychEngine Engine originally used on Mind Games mod 项目地址: https://gitcode.com/gh_mirrors/fn/FNF-PsychEngine 如果你对Friday Night Funkin&#xff08;FNF&#xff09;…...

告别Keil5新建工程手忙脚乱:GD32F303保姆级环境搭建与文件管理心法

告别Keil5新建工程手忙脚乱&#xff1a;GD32F303保姆级环境搭建与文件管理心法 第一次打开Keil5新建GD32工程时&#xff0c;面对官网下载的几十个库文件&#xff0c;你是否感到无从下手&#xff1f;明明跟着教程一步步操作&#xff0c;最后却发现工程文件散落各处&#xff0c;移…...

极客玩法:OpenClaw+Qwen3-32B实现命令行AI增强

极客玩法&#xff1a;OpenClawQwen3-32B实现命令行AI增强 1. 为什么需要命令行AI助手&#xff1f; 作为一个常年与终端打交道的开发者&#xff0c;我发现自己每天要重复输入大量命令&#xff1a;查日志、部署服务、处理数据……这些操作往往需要记住复杂的参数组合&#xff0…...

OpenClaw自动化写作实测:Qwen3-32B生成技术博客全流程

OpenClaw自动化写作实测&#xff1a;Qwen3-32B生成技术博客全流程 1. 为什么选择OpenClaw进行自动化写作 作为一个长期与技术文档打交道的开发者&#xff0c;我一直在寻找能够提升写作效率的工具。传统写作流程中&#xff0c;从选题到发布需要经历资料收集、大纲设计、内容填…...

UEFITool终极指南:掌握UEFI固件解析与编辑的完整教程

UEFITool终极指南&#xff1a;掌握UEFI固件解析与编辑的完整教程 【免费下载链接】UEFITool UEFI firmware image viewer and editor 项目地址: https://gitcode.com/gh_mirrors/ue/UEFITool 想要深入了解计算机启动的底层秘密吗&#xff1f;UEFITool作为一款强大的开源…...

FPGA仿真数据高效流转:Vivado与Matlab的自动化处理链路

1. 从Vivado到Matlab的数据流转痛点 做过FPGA开发的朋友都知道&#xff0c;仿真阶段产生的数据就像金矿&#xff0c;但要把这些"矿石"提炼成有价值的分析结果&#xff0c;中间的数据搬运工作常常让人头疼。我最近在做一个无线通信项目时就深有体会&#xff1a;Vivado…...

HarmonyOS文件流操作指南:用ArkTS实现高效大文件传输与哈希校验

HarmonyOS文件流操作实战&#xff1a;ArkTS实现大文件传输与完整性校验 在移动应用开发中&#xff0c;文件操作是基础但至关重要的功能。当应用需要处理大型媒体文件、数据库备份或批量数据交换时&#xff0c;传统的文件IO方式往往力不从心。HarmonyOS提供的流式文件操作接口&a…...

STM32 SRAM与FLASH调试配置实践

在SRAM与FLASH中调试STM32代码的工程实践1. 调试环境选择背景STM32微控制器的内部FLASH擦写次数约为1万次&#xff0c;频繁的调试过程会加速FLASH寿命的消耗。同时&#xff0c;SRAM存储器的写入速度显著快于内部FLASH&#xff0c;这使得在SRAM中进行程序调试具有以下优势&#…...

Qt加载OBJ或STL模型文件,支持鼠标移动、缩放、旋转Demo

Qt加载模型文件obj或者stl实例&#xff0c;支持鼠标移动缩放旋转demo最近在捣鼓Qt的3D可视化功能&#xff0c;发现用Qt搞个模型查看器比想象中简单。咱们先整点实际的——做个能加载obj/stl模型&#xff0c;支持鼠标拖拽旋转、平移、缩放的demo。废话不多说&#xff0c;直接撸代…...