当前位置: 首页 > 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…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

微信小程序之bind和catch

这两个呢&#xff0c;都是绑定事件用的&#xff0c;具体使用有些小区别。 官方文档&#xff1a; 事件冒泡处理不同 bind&#xff1a;绑定的事件会向上冒泡&#xff0c;即触发当前组件的事件后&#xff0c;还会继续触发父组件的相同事件。例如&#xff0c;有一个子视图绑定了b…...

macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用

文章目录 问题现象问题原因解决办法 问题现象 macOS启动台&#xff08;Launchpad&#xff09;多出来了&#xff1a;Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显&#xff0c;都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...