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

NumPy学习第九课:字符串相关函数

前言

各位有没有注意到,NumPy从第八课开始其实基本上都是讲的是NumPy的函数,而且其实就是各种函数的调用,因为NumPy是一个很强大的函数库,这对我们以后再处理项目中遇到的问题时会有很大的帮助。我们将常用的函数进行一个列举,知道在什么地方使用,怎么使用就行。

字符串函数库

函数名称描述
add()对两个数组的逐个字符串元素进行连接
multiply()返回按元素多重连接后的字符串
center()居中字符串
capitalize()将字符串第一个字母转换为大写
title()将字符串的每个单词的第一个字母转换为大写
lower()数组元素转换为小写
upper()数组元素转换为大写
split()指定分隔符对字符串进行分割,并返回数组列表
splitlines()返回元素中的行列表,以换行符分割
strip()移除元素开头或者结尾处的特定字符
join()通过指定分隔符来连接数组中的元素
replace()使用新字符串替换字符串中的所有子字符串

使用方式

1、add()函数

看到add()这个函数,我们从字面意思就能理解出来,即使‘相加’的意思。

调用格式: numpy.char.add([‘字符串1’], [‘字符串2’])

示例代码:

import numpy as np# np.char.add()函数
a = '我的'
b = '世界'
print('将a和b通过add函数连接成一个新的值')
print(np.char.add([a], [b]))# 输出结果
# 将a和吧通过add函数连接成一个新的值
# ['我的世界']
2、 multiply()函数

multiply翻译成中文其实就是‘乘以,重复的’,就是执行多次。

** 调用格式:** numpy.char.multiply(‘字符串’,长度)

示例代码:

import numpy as npx = '时光机'print(np.char.multiply(x+' ', 5))# 输出结果
# 时光机 时光机 时光机 时光机 时光机

python中还有一个写法和这个比较相似

示例代码

p = '时光机1 'print(p * 5)# 输出结果
# 时光机1 时光机1 时光机1 时光机1 时光机1

虽然两个返回的结果是一样,但是,它们两个可不是相同的类型呦,我们调用type()看看它们都返回的什么类型的

在这里插入图片描述

np.char.multiply()返回的是numpy数组,而Python写法返回的是字符串,不要混用两个是不一样的。

3、 center()函数

center()函数是一个居中函数。

调用格式:
np.char.center(‘字符串’ , 长度, ‘填充字符’)
这个比较简单,直接展示示例代码

示例代码

import numpy as npx = '我居中了'
print(np.char.center(x, 30, '#'))# 输出结果
# #############我居中了#############
4、capitalize()函数

调用格式:
np.char.capitalize()
这个就是将字符串的首字母变成大写

示例代码:

x = 'woshinitie'
print(np.char.capitalize(x))
# 输出结果
# Woshinitie
5、title()函数

调用格式: numpy.char.title() 函数将字符串的每个单词的第一个字母转换为大写。

示例代码:

x = 'wo de shi jie wo zuo zhu'
print(np.char.title(x))# 输出结果
# Wo De Shi Jie Wo Zuo Zhu
6、lower()函数

调用格式: numpy.char.lower() 将每个元素字母都变成小写的。

示例代码:

x = 'FEI  JI DA ZHAN'
print(np.char.lower(x))# 输出结果
# fei  ji da zhan
7、upper()函数

调用格式: numpy.char.upper() 这个是和;lower()函数相反的函数,是将元素字母全部变成大写。

示例代码:

x = 'wo shi yi ge ai dou'
print(np.char.upper(x))# 输出结果
# WO SHI YI GE AI DOU
8、split()函数

调用格式: numpy.char.split() 分隔符函数,将字符串根据提供的字符进行分割,如果不提供分割字符的话,函数默认空格为字符串的分隔符。

示例代码:

x = 'wo shi yi ge ai dou'
print(np.char.split(x))# 输出结果
# ['wo', 'shi', 'yi', 'ge', 'ai', 'dou']

下面这个比较特殊,既有分隔符,也有空格,那么会怎么进行分割呢?如果提供了分隔符,那么会把后面看成一个整体的字符串进行分割。

x = 'wo.shi.yi.ge ai dou'
print(np.char.split(x, sep='.'))# 输出结果
# ['wo', 'shi', 'yi', 'ge ai dou']
9、splitlines()函数

调用格式: numpy.char.splitlines() 这个函数比split()函数更高一级,可以使用换行符进行字符串的分隔,我们目前接触的比较多的换行符大概就是 \n , \r , \r\n

示例代码:

x = 'wo.shi\nni da ye'
print(np.char.splitlines(x))# 输出结果
# ['wo.shi', 'ni da ye']

如果我们这个字符串中没有分隔符,再次调用splitlines()函数的话,会输出什么呢?看代码

x = 'wo.shi ni da ye'
print(np.char.splitlines(x))# 输出结果
# ['wo.shi ni da ye']
10、strip()函数

调用格式: numpy.char.strip(‘字符串’,‘要移除的字符’)
这个函数就是移除字符串的开头和结尾的需要移除的字符,感觉这个函数比较鸡肋。目前在学习过程中还是用的比较少的,但是存在即是合理的,我们也进行一下测试

示例代码:

x = 'wo.shi ni da ye'
print(np.char.strip(x,'w'))# 输出结果
# o.shi ni da ye
11、join()函数

调用格式: numpy.char.join(‘字符串’,‘分隔符’)就是通过特殊字符,将字符串或者数组,通过特殊字符连接在一起。

我们先看一下普通的字符串连接

在这里插入图片描述

示例代码:

x = 'Kobe Bryant'
print(np.char.join("*", x))# 输出结果
# K*o*b*e* *B*r*y*a*n*t

再来看看数组是如何调用的吧

x = ['james', 'Harden']
print(np.char.join(['~', '$'], x))# 输出结果
# ['j~a~m~e~s' 'H$a$r$d$e$n']

我们也可以给他们共同指定一个元素的。

x = ['james', 'Harden']
print(np.char.join('~', x))# 输出结果
# ['j~a~m~e~s' 'H~a~r~d~e~n']

示例代码:

12、replace()函数

调用格式: numpy.char.replace(‘字符串’,‘需要替换的字符’,‘替换字符’)这个很简单,就是把字符替换成自己想要的字符

示例代码:

x = ['james', 'Harden']
print(np.char.replace(x, 'a', 'T'))# 输出结果
# ['jTmes' 'HTrden']

我们在调用这个函数的时候,是有一个count参数的,这个参数是可选择,就是如果给定了可选参数“count”,则仅第一个计数替换出现次数

在这里插入图片描述

我们试试给count参数赋值看看输出结果

x1 = np.char.replace('This is a python article python ', 'python', 'Numpy-Python', count = 1)
print(x1)
# 输出结果
# This is a Numpy-Python article python

本节课程主要就是函数的一个调用到此结束,很简单,但是还是得进行实操练习才能更加熟练。

本文提供的内容仅用于个人学习、研究,如有相关权利人的合法权利,请及时通知作者,予以删除!

相关文章:

NumPy学习第九课:字符串相关函数

前言 各位有没有注意到,NumPy从第八课开始其实基本上都是讲的是NumPy的函数,而且其实就是各种函数的调用,因为NumPy是一个很强大的函数库,这对我们以后再处理项目中遇到的问题时会有很大的帮助。我们将常用的函数进行一个列举&am…...

卷积神经网络(CNNs)在处理光谱特征的序列属性时表现不佳

卷积神经网络(CNNs)在处理光谱签名的序列属性时表现不佳,主要是由于其固有网络架构的局限性。具体原因如下: 局部感受野(Local Receptive Field): CNN 的核心操作是卷积,它利用局部感…...

【IC】MCU的Tick和晶振频率

Tick 是指 MCU 内部时钟的一个周期,通常表示为一个固定的时间间隔。每个 tick 代表一个时间单位,通常以毫秒(ms)或微秒(μs)为单位。Tick 通常由 MCU 的定时器或计时器生成,作为系统时钟的一部分…...

从0到1学习node.js(npm)

文章目录 一、NPM的生产环境与开发环境二、全局安装三、npm安装指定版本的包四、删除包 五、用npm发布一个包六、修改和删除npm包1、修改2、删除 一、NPM的生产环境与开发环境 类型命令补充生产依赖npm i -S uniq-S 等效于 --save -S是默认选项npm i -save uniq包的信息保存在…...

【STM32 Blue Pill编程实例】-OLED显示DS18B20传感器数据

OLED显示DS18B20传感器数据 文章目录 OLED显示DS18B20传感器数据1、DS18B20介绍2、硬件准备及接线3、模块配置3.1 定时器配置3.2 DS18B20传感器配置3.3 OLED的I2C接口配置4、代码实现在本文中,我们将介绍如何将 DS18B20 温度传感器与 STM32 Blue Pill 开发板连接,并使用 HAL …...

STM32 从0开始系统学习3 启动流程

目录 写在前面 速通:做了什么: 分析I:分析2011年的startup文件所作 分析II:分析2017年的startup文件所作 Helps 2011 2017 Reference 写在前面 请各位看官看本篇笔记的时候首先了解一下计算机体系架构,了解基本…...

交换机:端口安全与访问控制指南

为了实现端口安全和访问控制,交换机通常通过以下几种机制和配置来保护网络,防止未经授权的访问和恶意攻击。 01-端口安全 定义及功能 端口安全功能允许管理员限制每个交换机端口可以学习的MAC地址数量。 通过绑定特定的MAC地址到交换机的某一端口上&a…...

【C++ | 数据结构】八大常用排序算法详解

1. 排序的稳定性 排序是我们生活中经常会面对的问题,小朋友站队的时候会按照从矮到高的顺序排列;老师查看上课出勤情况时,会按照学生的学号点名;高考录取时,会按照成绩总分降序依次录取等等。那么对于排序它是如何定义…...

Oracle 第7章:数据完整性约束

在Oracle数据库中,数据完整性是指确保存储在数据库中的数据的正确性和一致性。为了实现这一点,Oracle提供了多种机制来维护数据完整性,包括主键(Primary Key)、外键(Foreign Key)和唯一性约束&a…...

【核心】静态/动态全覆盖路径规划相关技术研究

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、明确覆盖式路径的目标二、静态/动态全覆盖路径规划相关技术研究(1)静态全覆盖路径规划方法一:波前WaveFront 覆盖算法方法二:图形学映射算…...

Java 实现集成 Google 邮箱第三方登录实践

文章目录 前言前期准备配置客户端 ID 和重定向 URL配置 OAuth 权限请求页面 登录流程前端演示代码后端演示代码 总结个人简介 前言 Google OAuth 2.0 是其中一种常见的第三方登录方式,广泛应用于各类网站和应用程序。通过 Google OAuth 2.0,用户可以使用…...

人人都在学的智能体(AI Agent),带你轻松入门!

一、智能体初认知 AI 智能体(英文:AI Agent)究竟是个啥 先讲个故事 想象一下,你有一个特别能干的虚拟助手,我们叫他小明。小明不是普通人,他是一个智能体,就像一个超级版的 Siri 或者小爱同学&…...

如何在Windows环境下开启Kibana的非localhost访问

Kibana是一个开源的分析和可视化平台,用于探索和可视化Elasticsearch数据。默认情况下,Kibana仅允许在本地访问,但通过一些简单的配置更改,你可以允许远程访问。在本文中,我们将介绍如何在Windows环境下开启Kibana的非…...

蓝桥杯 单片机 DS1302和DS18B20

DS1302 时钟 时钟试题 常作为实验室考核内容 控制三个引脚 P17 时钟 P23输入 P13复位 其他已经配置好 寄存器原理 定位地址 0x80地址 固定格式 0x57 5*107*1 57 小时写入格式 不同 首位区分 A上午 P下午 0为24小时制 1为12小时制 写入8小时 0x87 //1000 7 十二小时制 7…...

前端css-媒体查询@media以及常见使用例子

媒体查询(media)介绍 媒体查询(media)是 CSS 中用来针对不同的设备特性(如屏幕尺寸、分辨率等)应用不同样式的一种技术。通过媒体查询,可以使页面在不同设备上呈现不同的布局,实现响…...

centos系统防火墙SELinux设置指令

SELinux(Security-Enhanced Linux)的配置可以通过一系列步骤和命令来完成。以下是一些基本的配置SELinux的方法和步骤: 一、查看SELinux状态 首先,你需要查看SELinux的当前状态。可以使用以下命令: getenforce 该命…...

记录如何在RK3588板子上跑通paddle的OCR模型

官网文档地址 rknn_zoo RKNPU2_SDK RKNN Model Zoo 一、PC电脑是Ubuntu22.04系统中完成环境搭建(板子是20.04) 安装模型转换环境 ​conda create -n rknn2 python3.10 conda activate rknn2 安装Ubuntu依赖包 su…...

通过AWS Bedrock探索 Claude 的虚拟桌面魔力:让 AI 代替你动手完成任务!

前言 大家好,昨夜Anthropic 发布了更新。现在 Claude 3.5 Sonnet(V2) 和 Claude 3.5 Haiku,以及名为 computer use 的新功能已经作为公开测试版发布了。 Introducing computer use, a new Claude 3.5 Sonnet, and Claude 3.5 Ha…...

Java面向对象编程高阶(一)

Java面向对象编程高阶(一) 一、关键字static1、static修饰属性2、静态变量与实例变量的对比3、static修饰方法4、什么时候将属性声明为静态的?5、什么时候将属性声明为静态的?6、代码演示 一、关键字static static用来修饰的结构…...

JavaScript 中 let 和 var 的区别

JavaScript 中 let 和 var 的区别 在 JavaScript 中,let 和 var 都是用来声明变量的关键字,但它们在作用域、提升(hoisting)和重新赋值方面存在显著差异。理解这些差异对于编写高效和无bug的JavaScript代码至关重要。 作用域 v…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统

医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...

【机器视觉】单目测距——运动结构恢复

ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛&#xf…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

WEB3全栈开发——面试专业技能点P7前端与链上集成

一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...

篇章二 论坛系统——系统设计

目录 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 1. 数据库设计 1.1 数据库名: forum db 1.2 表的设计 1.3 编写SQL 2.系统设计 2.1 技术选型 2.2 设计数据库结构 2.2.1 数据库实体 通过需求分析获得概念类并结合业务实现过程中的技术需要&#x…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程

鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...

TCP/IP 网络编程 | 服务端 客户端的封装

设计模式 文章目录 设计模式一、socket.h 接口(interface)二、socket.cpp 实现(implementation)三、server.cpp 使用封装(main 函数)四、client.cpp 使用封装(main 函数)五、退出方法…...