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

React第十一章(useReducer)

useReducer useReducer是React提供的一个高级Hook,没有它我们也可以正常开发,但是useReducer可以使我们的代码具有更好的可读性,可维护性。 useReducer 跟 useState 一样的都是帮我们管理组件的状态的,但是呢与useState不同的是 useReducer…...

VUE3实现古典音乐网站源码模板

文章目录 1.设计来源1.1 网站首页页面1.2 古典音乐页面1.3 著名人物页面1.4 古典乐器页面1.5 历史起源页面1.6 登录页面1.7 注册页面 2.效果和源码2.1 动态效果2.2 目录结构 源码下载万套模板,程序开发,在线开发,在线沟通 作者:xc…...

1.nginx安装【Docker】

一、 拉取 最新 nginx 镜像 docker pull nginx二、 拷贝配置文件 2.1 目的 【数据持久化】容器被删除时,它内部的所有数据也会丢失。通过将数据目录挂载到宿主机,可以确保重要数据得到持久化保存 【方便数据管理和调试】通过卷挂载,可以直接…...

Linux -- 共享内存(1)

目录 共享内存 共享内存相关函数 ftok 函数 -- 获取 key 值 什么是 key? 如何生成 key ? 参数: 返回值: 封装: shmget 函数 -- 获取 shmid 值 什么是 shmid? shmid 和 key 的区别? …...

冒泡排序和二分查找--go

冒泡排序的逻辑 二分查找的逻辑 func bubbleSort(arr *[5]int){//冒泡排序fmt.Println(*arr)temp : 0for j : len(*arr); j > 0; j-- {for i : 0; i < j-1; i {temp (*arr)[i]if((*arr)[i] > (*arr)[i1]){(*arr)[i] (*arr)[i1](*arr)[i1] temp}}} }func binaryF…...

springboot RedisTemplate支持多个序列化方式

前提纪要&#xff1a;因为业务变动&#xff0c;需要在原先只支持protobuf的前提序列化的前提下&#xff0c;新增正常的序列化读取数据所以在原先的基础上进行优化。文章用于记忆。 话不多说直接上代码 Configuration AutoConfigureAfter(RedisAutoConfiguration.class) Import…...

开源项目-拍卖管理系统

哈喽&#xff0c;大家好&#xff0c;今天主要给大家带来一个开源项目-拍卖管理系统 拍卖管理系统主要有拍卖品管理&#xff0c;我的拍卖&#xff0c;拍卖详情&#xff0c;拍卖品信息修改&#xff0c;发布拍卖品等功能 登录 拍卖商品管理 主要用于查看、竞拍拍卖商品的信息 我…...

Python小游戏14——雷霆战机

首先&#xff0c;你需要确保安装了Pygame库。如果你还没有安装&#xff0c;可以使用pip来安装&#xff1a; bash pip install pygame 代码如下&#xff1a; python import pygame import sys import random # 初始化Pygame pygame.init() # 设置屏幕大小 screen_width 800 scr…...

81页PPT | 企业数字化底座与数字化转型方案

方案内容涵盖了企业数字化转型的议程、集团管理分析类应用建设的现状与问题、数字化建设的目标、预期收益、总体架构、数据产生层、数据交换层、数据存储层、数据应用层、数据管控层等多个方面。方案详细描述了数据从产生、交换、存储到应用的全过程&#xff0c;以及如何通过数…...

R语言笔记(五):Apply函数

文章目录 一、Apply Family二、apply(): rows or columns of a matrix or data frame三、Applying a custom function四、Applying a custom function "on-the-fly"五、Applying a function that takes extra arguments六、Whats the return argument?七、Optimized…...