五.pandas常见操作

news2024/11/18 7:50:40

目录

五.pandas常见操作

1.pandas处理字符串

以上演示

1-大小写转换

2-去空格(两边) .str.strip()

3-切割

4-连接 .str.cat()

5-空格检测 .str.contains(" ")

6-替换

7-count()--返回元素出现次数

8-repeat()

2.查询操作

2.1 query(" ")

2.2 isin()

2.3 apply()

3.缺失值处理

演示代码

3.1 dropna()

3.2 fillna()


五.pandas常见操作


1.pandas处理字符串

Pandas 提供了一系列的字符串函数,因此能够很方便地对字符串进行处理。

函数名称函数功能和描述
lower()将的字符串转换为小写。
upper()将的字符串转换为大写。
len()得出字符串的长度。
strip()去除字符串两边的空格(包含换行符)。
split()用指定的分割符分割字符串。
cat(sep="")用给定的分隔符连接字符串元素。
contains(pattern)如果空子字串包含在元素中,则为每个元素返回一个布尔值 True,否则为 False。
replace(a,b)将值 a 替换为值 b。
count(pattern)返回每个字符串元素出现的次数。
findall(pattern)以列表的形式返出现的字符串。
isnumeric()返回布尔值,检查 Series 中组成每个字符串的所有字符是否都为数字。
repeat(value)以指定的次数重复每个元素。
find(pattern)返回字符串第一次出现的索引位置.

以上演示

1-大小写转换

import pandas as pd
a=pd.DataFrame({"name":['cao','WC','bibi'],"age":[10,20,30]})
print(a)
# 将name列的小写转换为大写.
a['name'].str.upper()

2-去空格(两边) .str.strip()

3-切割

4-连接 .str.cat()

5-空格检测 .str.contains(" ")

6-替换

7-count()--返回元素出现次数

a['name'].str.count('i')

8-repeat()

2.查询操作

2.1 query(" ")

df_data = pd.DataFrame(
    {"demo":["python","java","php","javascript"],
     "A":[10,11,11,12],
     "B":[8,15,11,13],
     "C":[12,12,14,15],
     "D":[11,13,15,11],
    })
print(df_data)
# 按条件筛选
# df_data.query("(A>10) and (B>12)")
​
​
# 筛选指定列
# df_data.query("(A>10) & (B>12)")[["demo","C","D"]]
​
# 筛选某一列
# df_data[df_data["demo"] == "python"]
# df_data.query('demo == "python"')
​

2.2 isin()

2.3 apply()

apply 函数是 pandas 库中 DataFrameSeries 对象的一个方法,它允许你对这些对象中的数据应用一个函数

df_data = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4.000023, 5.000021, 6.000054],
    'C': [7, 8, 9]
})
df_data
​
# 对每一列进行求和操作
df_data.apply(lambda x:x.sum(),axis="index")
​
# 对每一行进行求和操作
df_data.apply(lambda x:x.sum(),axis="columns")
​
​
df_data.apply(lambda x:x.sum()-x.max(),axis="index")
#mean()求均值---对每一列求均值。
df_data.apply(lambda x:x.mean(),axis="index")
​
# map关系映射
# B列保留两位小数
df_data["B"].map(lambda x:"%.2f"%x)

3.缺失值处理

演示代码

df_data = pd.DataFrame({
    "姓名":["张三","李四","王五","赵六"],
    "性别":["男",np.nan,"男","男"],
    "身高":[180,175,178,np.nan],
},index=[1,3,5,6])
df = df_data.reindex([1,2,3,4,5,6])

3.1 dropna()

DataFrame.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)

  • axis:默认为0,表示删除行还是列,也可以用“index”和“columns”表示

  • how:{‘any’, ‘all’}, 默认为 ‘any’;any表示只要该行(列)出现空值就删除整行(列),all表示整行(列)都出现空值才会删除整行(列)

  • thresh:表示删除非空值小于thresh个数时删除

  • subset:列表类型,表示哪些列里有空值才删除行或列

# 检查缺失值
df.isnull()
# 检查某列缺失值
df["姓名"].isnull()
​
# 删除缺失值
df.dropna(thresh=2)
# 全部为空时删除
df.dropna(axis="index",how="all")
​
# 指定列进行空值删除
df.dropna(subset=["身高"])
​

3.2 fillna()

fillna()的作用是填充缺失值。

# 常量填充缺失值
df.fillna(0)
​
# 计算填充
df["身高"].fillna(df["身高"].mean())

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

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

相关文章

mysql生成连续的日期

1.代码 例如:生成"2023-03-01"至"2023-03-10"之间的日期 WITH RECURSIVE date_range AS (SELECT "2023-03-01" AS date FROM dualUNION ALLSELECT DATE_ADD(date, INTERVAL 1 DAY) dateFROM date_rangeWHERE DATE_ADD(date, INTER…

【机器人控制 Robot Control】非线性控制(Non-linear Control)建模举例【新加坡南洋理工大学 NTU Singapore】

Non-linear Control Method Example: Non-linear Mechanical System Modelling of the System using Control Law Partitioning (Handwritten)

wordpress被恶意搜索攻击(网址/?s=****)解决方法。

源地址:https://www.ctvol.com/seoomethods/1413686.html 什么叫恶意搜索攻击? wordpress恶意搜索攻击并不是像病毒一样的攻击,而是一种seo分支黑帽手段,通过被攻击网站搜索功能中长尾关键词来实现攻击,通过网址不断…

数学问题难解?新研究提出MathScale方法,让AI更懂数学推理

引言:数学问题解决中的语言模型挑战 数学问题解决是一个复杂的认知过程,它要求参与者不仅要掌握数学知识,还要能够进行多步骤的逻辑推理。近年来,大语言模型(LLMs)在解决问题方面展现出了显著的能力&#…

环信ChatroomUIKit功能详解——超详细介绍

聊天室是当下泛娱乐社交应用中最经典的玩法,通过调用环信的 IM SDK 接口,可以快速创建聊天室。如果想根据自己业务需求对聊天室应用的 UI界面、弹幕消息、礼物打赏系统等进行自定义设计,最高效的方式则是使用环信的 ChatroomUIKit 。 文档地址…

2024年【安全生产监管人员】及安全生产监管人员模拟考试题库

题库来源:安全生产模拟考试一点通公众号小程序 2024年【安全生产监管人员】及安全生产监管人员模拟考试题库,包含安全生产监管人员答案和解析及安全生产监管人员模拟考试题库练习。安全生产模拟考试一点通结合国家安全生产监管人员考试最新大纲及安全生…

面试复盘记录(数据开发)

一、apple外包1.矩阵顺时针旋转遍历2.两表取差集 二、 一、apple外包 没问理论,就两个算法题。 1.矩阵顺时针旋转遍历 Given an m x n matrix, return all elements of the matrix in spiral order.Example 1:Input: matrix [[1,2,3],[4,5,6],[7,8,9]] Output: …

岩土工程渗流问题之有限单元法:理论、模块化编程实现、开源程序应用

有限单元法在岩土工程问题中应用非常广泛,很多商业软件如Plaxis/Abaqus/Comsol等都采用有限单元解法。尽管各类商业软件使用方便,但其使用对用户来说往往是一个“黑箱子”。相比而言,开源的有限元程序计算方法透明、计算过程可控,…

【NR 定位】3GPP NR Positioning 5G定位标准解读(八)- OTDOA定位

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

redis在微服务领域的贡献,字节跳动只面试两轮

dubbo.registry.addressredis://127.0.0.1:6379 注册上来的数据是这样,类型是hash /dubbo/ s e r v i c e / {service}/ service/{category} 如 /dubbo/com.newboo.sample.api.DemoService/consumers /dubbo/com.newboo.sample.api.DemoService/providers has…

Apache Paimon系列之:主键表

Apache Paimon系列之:主键表 一、主键表1.Bucket2.LSM Trees3.Compaction 二、数据分布1.固定Bucket2.动态Bucket3.正常动态Bucket模式4.跨分区更新插入动态存储桶模式 三、Merge Engine1.Deduplicate2.部分更新3.序列组4.聚合部分更新5.聚合6.Retract7.First Row 四…

01-java入门了解--cmd命令、jdk、java的认识

cmd常用命令 java入门需要安装的环境 jdk。(下载好jdk,并配置好环境)idea。(或者其他的编程工具) jdk安装目录介绍 第一步:编写程序(程序员写.java后缀的文件) 第二步:…

【LLMs+小羊驼】23.03.Vicuna: 类似GPT4的开源聊天机器人( 90%* ChatGPT Quality)

官方在线demo: https://chat.lmsys.org/ Github项目代码:https://github.com/lm-sys/FastChat 官方博客:Vicuna: An Open-Source Chatbot Impressing GPT-4 with 90% ChatGPT Quality 模型下载: https://huggingface.co/lmsys/vicuna-7b-v1.5 | 所有的模…

Nuxt3 初学,基础配置,页面结构搭建,引入element

1.下载Nuxt框架 Nuxt 中文站 - 直观的Web框架 Nuxt3文档 NuxtNuxt是一个开源框架,它使web开发直观而强大。自信地创建高性能和生产级全栈web应用程序和网站。https://www.nuxt.com.cn/根据官方文档进行配置 2.配置页面 1.主要页面结构 导航栏内容底部 1.在comp…

最适合Oracle数据库的Linux操作系统?

先声明:以下观点仅供参考。我只引用网上的一些观点,包括官网等。 Oracle数据库认证的Linux操作系统 最近老被问到Oracle Linux免费吗?因为用户需要安装Oracle数据库,面临选择操作系统的问题。 首先,Oracle数据库 19…

模拟电子技术实验(三)

单选题 1.本实验的实验目的中,输出电阻测量是第几个目的? A. 1个。 B. 2个。 C. 3个。 D. 4个。 答案:C 评语:10分 单选题 2. 有一定输出功率的放大器的 “功率”下面理解正确的是? A. 能…

05-ESP32-S3-IDF USART

ESP32-S3 IDF USART详解 USART简介 USART是一种串行通信协议,广泛应用于微控制器和计算机之间的通信。USART支持异步和同步模式,因此它可以在没有时钟信号的情况下(异步模式)或有时钟信号的情况下(同步模式&#xff…

【教学类-34-10】20240313 春天拼图(Midjounery生成线描图,4*4格拼图块)(AI对话大师)

作品展示: 背景需求: 利用华文彩云空心字(粗胖字体。凑满9个拼图)制作了3*3的拼图块 【教学类-34-09】20240310华文彩云学号拼图(3*3格子浅灰底图 深灰拼图块)(AI对话大师)-CSDN博…

3.2 RK3399项目开发实录-初次使用的环境搭建(物联技术666)

通过百度网盘分享的文件:嵌入式物联网单片… 链接:https://pan.baidu.com/s/1Zi9hj41p_dSskPOhIUnu9Q?pwd8qo1 提取码:8qo1 复制这段内容打开「百度网盘APP 即可获取」 1. 用户和密码 1.1. Ubuntu Desktop 系统 Ubuntu Desktop 系统开机启动后,自动登录…

使用Docker在windows上安装IBM MQ

第一步、安装wsl 详见我另一篇安装wsl文章。 第二步、安装centos 这里推荐两种方式,一种是从微软商城安装,一种是使用提前准备好的镜像安装,详见我另一篇windos下安装centos教程。 第三步、安装windows下的Docker desktop 详见我另一篇wind…