数据分析必备:一步步教你如何用Pandas做数据分析(10)

1、Pandas 文本处理

Pandas 文本处理操作实例
在本章中,我们将使用基本的Series / Index讨论字符串操作。在随后的章节中,我们将学习如何在DataFrame上应用这些字符串函数。
Pandas提供了一组字符串函数,可以轻松地对字符串数据进行操作。最重要的是,这些函数忽略(或排除)缺少的/ NaN值。
几乎所有这些方法都可用于Python字符串函数(请参阅: https://docs.python.org/3/library/stdtypes.html#string-methods)。因此,将Series对象转换为String对象,然后执行该操作。
我们看看每个操作如何执行。
在这里插入图片描述
在这里插入图片描述
我们来创建一个Series,看看以上所有功能如何工作。

import pandas as pd
import numpy as np
s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith'])
print(s)

运行结果:

0             Tom
1    William Rick
2            John
3         Alber@t
4             NaN
5            1234
6      SteveSmith
dtype: object

1.1、lower()

import pandas as pd
import numpy as np
s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234', 'SteveSmith'])
print(s.str.lower())

运行结果:

0             tom
1    william rick
2            john
3         alber@t
4             NaN
5            1234
6      stevesmith
dtype: object

1.2、upper()

import pandas as pd
import numpy as np
s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith'])
print(s.str.upper())

运行结果:

0             TOM
1    WILLIAM RICK
2            JOHN
3         ALBER@T
4             NaN
5            1234
6      STEVESMITH
dtype: object

1.3、len()

 import pandas as pd
 import numpy as np
 s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t', np.nan, '1234','SteveSmith'])
 print(s.str.len()

运行结果:

 0 3.0
 1 12.0
 2 4.0
 3 7.0
 4 NaN
 5 4.0
 6 10.0
 dtype: float64

1.4、strip()

 import pandas as pd
 import numpy as np
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print s
 print ("After Stripping:")
 print(s.str.strip()

运行结果:

0 Tom
 1 William Rick
 2 John
 3 Alber@t
 dtype: object
 After Stripping:
 0 Tom
 1 William Rick
 2 John
 3 Alber@t
 dtype: object

1.5、split(pattern)

 import pandas as pd
 import numpy as np
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print s
 print ("Split Pattern:")
 print(s.str.split(' ')

运行结果:

 0 Tom
 1 William Rick
 2 John
 3 Alber@t
 dtype: object
 Split Pattern:
 0 [Tom, , , , , , , , , , ]
 1 [, , , , , William, Rick]
 2 [John]
 3 [Alber@t]
 dtype: object

1.6、cat(sep=pattern)

import pandas as pd
 import numpy as np
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print(s.str.cat(sep='_')

运行结果:

Tom _ William Rick_John_Alber@t

1.7、get_dummies()

 import pandas as pd
 import numpy as np
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print(s.str.get_dummies()

运行结果:

   William Rick   Alber@t   John   Tom
0             0         0      0     1
1             1         0      0     0
2             0         0      1     0
3             0         1      0     0

1.8、contains ()

 import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print(s.str.contains(' ')

运行结果:

 0  True
 1  True
 2  False
 3  False
 dtype: bool

1.9、replace(a,b)

 import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print s
 print ("After replacing @ with $:")
 print(s.str.replace('@','))

运行结果:

 0 Tom
 1 William Rick
 2 John
 3 Alber@t
 dtype: object
 After replacing @ with $:
 0 Tom
 1 William Rick
 2 John
 3 Alber$t
 dtype: object

1.10、repeat(value)

 import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print(s.str.repeat(2)

运行结果:

0   Tom            Tom
1   William Rick   William Rick
2                  JohnJohn
3                  Alber@tAlber@t
dtype: object

1.11、count(pattern)

import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print ("每个字符串中的“ m”数:")
 print(s.str.count('m')

运行结果:

 每个字符串中的“ m”数:
 0 1
 1 1
 2 0
 3 0

1.12、startswith(pattern)

import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print ("Strings that start with 'T':")
 print(s.str. startswith ('T')

运行结果:

0  True
 1  False
 2  False
 3  False
 dtype: bool

1.13、endswith(pattern)

 import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print ("Strings that end with 't':")
 print(s.str.endswith('t')

运行结果:

 Strings that end with 't':
 0  False
 1  False
 2  False
 3  True
 dtype: bool

1.14、 find(pattern)

 import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print(s.str.find('e')

运行结果:

 0 -1
 1 -1
 2 -1
 3 3
 dtype: int64

“ -1”表示元素中没有匹配到。

1.15 、findall(pattern)

 import pandas as pd
 s = pd.Series(['Tom ', ' William Rick', 'John', 'Alber@t'])
 print(s.str.findall('e')

运行结果:

 0 []
 1 []
 2 []
 3 [e]
 dtype: object

空列表([])表示元素中没有匹配到

1.16、swapcase()

 import pandas as pd
 s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])
 print(s.str.swapcase()

运行结果:

 0 tOM
 1 wILLIAM rICK
 2 jOHN
 3 aLBER@T
 dtype: object

1.17、islower()

 import pandas as pd
 s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])
 print(s.str.islower()

运行结果:

0  False
 1  False
 2  False
 3  False
 dtype: bool

1.18、isupper()

 import pandas as pd
 s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])
 print(s.str.isupper()

运行结果:

0  False
 1  False
 2  False
 3  False
 dtype: bool

1.19、isnumeric()

 import pandas as pd
 s = pd.Series(['Tom', 'William Rick', 'John', 'Alber@t'])
 print(s.str.isnumeric()

运行结果:

 0  False
 1  False
 2  False
 3  False
 dtype: bool

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony 实战开发——内核对象队列之算法详解

前言 OpenAtom OpenHarmony(以下简称“OpenHarmony”) LiteOS-M 内核是面向 IoT 领域构建的轻量级物联网操作系统内核,具有小体积、低功耗、高性能的特点。在嵌入式领域的开发工作中,无论是自研还是移植系统,均绕不开…

超越中心化:Web3的去中心化应用探索

随着区块链技术的迅速发展,Web3作为其最前沿的应用之一,正引领着互联网进入了一个新的时代。Web3不仅仅是技术的进步,更是一种全新的思维方式和社会模式,其核心理念是去中心化、自治和透明,这与传统的中心化互联网模式…

视创云展「VR直播」是什么?有哪些功能和应用场景?

视创云展「VR直播」通过“3D沉浸式展厅直播高互动感”的创新玩法,使企业随时随地举办一场低成本、高互动、能获客的元宇宙直播活动成为可能。「VR直播」能实现3D展厅内VR场景漫游,更结合音视频交互、同屏互动等新功能,为用户带来更沉浸的虚拟…

.NET周刊【5月第4期 2024-05-26】

国内文章 开源低代码框架 ReZero API 正式版本发布 ,界面操作直接生成API https://www.cnblogs.com/sunkaixuan/p/18201175 ReZero是一款.NET6的中间件,采用MIT许可证开源,目的是降低.NET Core开发的门槛。它提供界面操作生成API的功能&am…

nacos安装与使用

1.nacos简介与安装 什么是注册中心(服务治理) 服务注册:服务提供者provider,启动的时候向注册中心上报自己的网络信息 服务发现:服务消费者consumer,启动的时候向注册中心上报自己的网络信息,拉…

《C++ Primer Plus》第十二章复习题和编程练习

目录 一、复习题二、编程练习 一、复习题 1. 假设String类有如下私有成员: // String 类声明 class String { private: char* str;int len;// ... };a. 下述默认构造函数有什么问题? String::String() { } // 默认构造函数b. 下述构造函数有什么问题…

民国漫画杂志《时代漫画》第29期.PDF

时代漫画29.PDF: https://url03.ctfile.com/f/1779803-1248635405-bf3c87?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps: 资源来源网络!

分享之远程调试

1:在线上启动脚本添加如下的内容: #! /bin/sh# 设置启动的jar SERVICE_NAME"xxx.jar"PRJ_BIN_DIR$(dirname $(readlink -f "$0")) SERVICE_HOME$(dirname $PRJ_BIN_DIR)LOGS_DIR$SERVICE_HOME/logs # 控制台日志 STDOUT_FILE$SERVICE_HOME/log…

New Phytologist:杨树特有miRNA在调控杨树抗旱中的分子机制

2024年3月6日,林木遗传育种全国重点实验室、北京林业大学生物科学与技术学院尹伟伦与夏新莉教授课题组在New Phytologist(中科院一区,影响因子9.4)期刊发表了题为“The miR6445-NAC029 module regulates drought tolerance by reg…

Python3 笔记:Python的所有关键字

查看Python的关键字首先需要用import导入keyword模块 import keyword # 查看Python的所有关键字,先用import导入keyword模块 print(keyword.kwlist) 运行结果: [False, None, True, and, as, assert, async, await, break, class, continue, def, …

96.网络游戏逆向分析与漏洞攻防-ui界面的设计-角色管理功能的界面设计

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果,代码看不懂是正常的,只要会抄就行,抄着抄着就能懂了 内容…

QT使用gsoap获取手机归属地

1-环境变量 用的win32 E:\hes_scc\tools\gsoap_2.8.134\gsoap-2.8\gsoap\bin\win32 2-生成代码接口 自己建一个目录,在此打开cmd窗口,生成的文件都会在这个文件夹中。 这里用的手机归宿地。 wsdl2h -o GetPhoneInfo.h -s -n Phone -t ....\typemap.…

DES加密算法笔记

【DES加密算法|密码学|信息安全】https://www.bilibili.com/video/BV1KQ4y127AT?vd_source7ad69e0c2be65c96d9584e19b0202113 根据此视频学习 DES是对称密码中的分组加密算法 (分组加密对应流加密算法) 流加密算法就是一个字节一个字节加密 分组加…

SSL协议:网络安全通信的守护者

在网络通信迅猛发展的今天,数据安全和隐私保护变得尤为重要。安全套接层协议(Secure Sockets Layer, SSL)作为早期网络加密及身份验证的基石,为在线数据传输提供了安全保障。下面我们就来了解一下SSL协议。 SSL协议概述 SSL协议最…

NSSCTF | [SWPUCTF 2021 新生赛]no_wakeup

打开题目后&#xff0c;点击三个&#xff1f;&#xff0c;发现是一个php序列化脚本 <?phpheader("Content-type:text/html;charsetutf-8"); error_reporting(0); show_source("class.php");class HaHaHa{public $admin;public $passwd;public function…

System32文件夹千万不能删除,看完这篇你就知道为什么了

序言 C:\Windows\System32目录是Windows操作系统的关键部分,重要的系统文件存储在该目录中。网上的一些恶作剧者可能会告诉你删除它,但你不应该尝试去操作,如果你尝试的话,我们会告诉你会发生什么。 什么是System32文件夹 位于C:\Windows\System32的System32文件夹是所有…

OpenHarmony应用开启Service以及完成自启动和常驻

一.背景 由于有需求实现一个后台常驻服务,这里就是来实现在鸿蒙里面如何实现后台服务并且实现自启动和常驻 二.添加服务 如下来添加服务 然后此时直接运行这个hap是报错的,如下: 此处参考: 应用中添加ServiceExtensionAbility然后安装HAP时提示“code:9568344 error: inst…

计算机二级Access操作题总结——基本操作

基础操作题 设置主键 例&#xff1a;将“线路”表中的“线路ID”字段设置为主键 ①右键单击“线路”表&#xff1b; ②单击【设计视图】&#xff1b; ③鼠标指到表的第一行→“线路ID”处&#xff0c;右键单击&#xff1b; ④单击【主键】 设置有效性规则 例&#xff1a;设…

算法之背包问题

可分的背包问题是可以用贪心法来解决&#xff0c;而0-1背包问题通常使用动态规划方法来解决。 可分背包问题&#xff1a; 在可分背包问题中&#xff0c;物品可以被分割&#xff0c;您可以取走物品的一部分以适应背包的容量。这里的关键是物品的价值密度&#xff0c;即单…

【电路笔记】-二阶滤波器

二阶滤波器 二阶(或双极)滤波器由两个连接在一起的 RC 滤波器部分组成,可提供 -40dB/十倍频程滚降率。 1、概述 二阶滤波器也称为 VCVS 滤波器,因为运算放大器用作压控电压源放大器,是有源滤波器设计的另一种重要类型,因为与我们之前研究过的有源一阶 RC 滤波器一起,…