python处理文本数据

处理文本数据,主要是通过Seris的str访问。遇到NaN时不做任何处理,保留结果为NaN,遇到数字全部处理为NaN。

str是Seris的方法,DataFrame不能直接使用,但是通过索引选择DataFrame中的某一行或者某一列,结果为Seris,然后就可以使用了。

 

例如定义一个Seris和DataFrame如下

s = pd.Series([' ab',1,' bb ',np.nan,'bc '])
dic = {'one':[0,2,2,4],'two':[2,np.nan,4,6],'three':['a','b',np.nan,2]}
df = pd.DataFrame(dic,index=['d','e','f','g'])

将上述s全部变成大写字母,将df的列名称变成大写。

s = s.str.upper()
df.columns = df.columns.str.upper()

 

以下都以Seris做示例,这些方法与python字符串的操作类似

print(s.str.lower())   #将s中的各字符串全部变为小写
print(s.str.upper())   #将s中的各字符串全部变为大写
print(s.str.capitalize())   #将s中的各字符串全部变为首字母大写
print(s.str.len())    #求s中各字符串的长度
print(s.str.count('b'))   #求s中的各字符串元素包含几个b
print(s.str.startswith('a'))   #判断s中的字符串元素是否以a开始
print(s.str.endswith('a'))   #判断s中的字符串元素是否以a结束
print(s.str.strip())   #去掉s中字符串元素两边的空格
print(s.str.lstrip())   #去掉s中字符串元素左边的空格
print(s.str.rstrip())   #去掉s中字符串元素右边的空格
print(s.str.replace('原字符','替换字符',1))  #将原字符串替换为指定字符串,默认替换所有满足条件的,n表示替换前n个满足条件的

 

split()和rsplit()

split()表示从左边开始分割,rsplit()表示从右边分割,分割后的结构为一个列表

s = pd.Series(['a,b,c,d',np.nan,['a..c'],'1,2,3'])
print(s.str.split(','))   #对Seris中的元素按照,分割,即对'a,b,c'、np.nan、['a..c']、'1,2,3'按照,分割
print(s.str.split(',').str[0])   #获取每个元素分割后的第一个值,分割后的结果也为Seris,也需要通过str来获取每个元素
print(s.str.split(',',expand=True,n=1))  #expand为True表示将原列按照分割符拆分为㢵列,n表示拆分次数,默认不拆分,如果拆分默认拆分最多次
# 0    [a, b, c, d]
# 1             NaN
# 2             NaN
# 3       [1, 2, 3]
# dtype: object
# 0      a
# 1    NaN
# 2    NaN
# 3      1
# dtype: object
#      0      1
# 0    a  b,c,d
# 1  NaN    NaN
# 2  NaN    NaN
# 3    1    2,3

 

转载于:https://www.cnblogs.com/Forever77/p/11266953.html

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

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

相关文章

Java系列笔记(4) - JVM监控与调优【转】

Java系列笔记(4) - JVM监控与调优【转】 目录 参数设置收集器搭配启动内存分配监控工具和方法调优方法调优实例 光说不练假把式,学习Java GC机制的目的是为了实用,也就是为了在JVM出现问题时分析原因并解决之。通过学习,我觉得JVM监控与调…

Maven打包排除某个资源或者目录

最近在spark streaming本地调试的时候&#xff0c;引入了一些资源文件&#xff0c;打包的时候需要给排除掉。所以就考虑使用maven的方式 详细参考官方文档&#xff1a;https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html 排除某个资源文件 <…

android发送网络请求没反应,Android无法使用HttpURLConnection发送GET请求

我正在尝试在我的应用程序中使用HttpURLConnection.我将我的请求方法设置为’GET’,但是当我尝试检索输出流时,该方法将更改为’POST’&#xff01;我不确定是什么原因,但是当我使用’POST’发送请求时,我的JSON服务器(我使用JAX-RS)会返回一个空白页面.这是我的代码片段&#…

地图 c-suite_C-Suite的模型

地图 c-suiteWe’ve all seen a great picture capture an audience of stakeholders.我们所有人都看到了吸引利益相关者听众的美好画面。 Let’s just all notice that the lady in the front right is not captivated by the image on the board (Photo by Christina wocin…

框架和库的区别_框架和库之间的区别

框架和库的区别Developers often use the terms “library” and “framework” interchangeably. But there is a difference.开发人员经常互换使用术语“库”和“框架”。 但是有区别。 Both frameworks and libraries are code written by someone else that is used to he…

Java—多线程实现生产者消费者模型

采用线程实现“生产者-消费者”编程的基础模型 源代码 消费者代码&#xff1a; public class Consumer implements Runnable {BlockingQueue<Integer> blockingQueue;int n;CountDownLatch countDownLatch;public Consumer(BlockingQueue<Integer> blockingQueue…

动态链接库.so和静态链接库.a的区别

静态链接库&#xff1a; •扩展名&#xff1a;.a  •编译行为&#xff1a;在编译的时候&#xff0c;将函数库直接整合到执行程序中&#xff08;所以利用静态库编译生成的文档会更大&#xff09; •独立执行的状态&#xff1a;编译成功的可执行文件可以独立运行&#xff0c;不…

华为鸿蒙系统封闭,谷歌正式“除名”华为!“亲儿子”荣耀表示:暂不考虑,鸿蒙OS处境尴尬...

我们都知道&#xff0c;目前智能手机最常用操作系统就是IOS和安卓&#xff0c;占据手机系统超过99%的市场份额。由于IOS系统的封闭性&#xff0c;国内手机厂商基本上都是使用谷歌的开源安卓系统。当然华为也不例外&#xff0c;一直使用的都是安卓系统。可以说&#xff0c;安卓系…

使用vue-cli脚手架搭建简单项目框架

1.首先已经安装了node,最好版本6以上。 2.安装淘宝镜像 大家都知道国内直接使用 npm 的官方镜像是非常慢的&#xff0c;这里推荐使用淘宝 NPM 镜像。这样就可以直接使用cnpm了。 npm install -g cnpm --registryhttps://registry.npm.taobao.org如果过程出差&#xff0c;是否安…

sap中泰国有预扣税设置吗_泰国餐厅密度细分:带有K-means聚类的python

sap中泰国有预扣税设置吗Hi! I am Tung, and this is my first stories for my weekend project. What inspired this project is that I have studied to become data scientist for almost two years now mostly from Youtube, coding sites and of course, Medium ,but my l…

自动化yaml文件_从YAML到TypeScript:开发人员对云自动化的看法

自动化yaml文件The rise of managed cloud services, cloud-native, and serverless applications brings both new possibilities and challenges. More and more practices from software development processes like version control, code review, continuous integration,…

SQL SERVER-Extendevent系统视图

--获得扩展事件的事件select name,description from sys.dm_xe_objects where object_typeevent order by name--获得各事件的字段 select c.name,c.description from sys.dm_xe_object_columns c inner join sys.dm_xe_objects o on o.namec.object_name where o.name…

Java—简单的注册页面

根据所提供的界面&#xff0c;编写 register.html 文件 源代码 empty.jsp <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><title>error</title> </head> <body> <H1><…

【深度学习系列】用PaddlePaddle和Tensorflow实现经典CNN网络AlexNet

上周我们用PaddlePaddle和Tensorflow实现了图像分类&#xff0c;分别用自己手写的一个简单的CNN网络simple_cnn和LeNet-5的CNN网络识别cifar-10数据集。在上周的实验表现中&#xff0c;经过200次迭代后的LeNet-5的准确率为60%左右&#xff0c;这个结果差强人意&#xff0c;毕竟…

图片获取像素坐标html,HTML5画布Canvas图片抽取、像素信息获取、命中检测

今天主要介绍canvas中比较强大的功能比如将画布内容抽取为图片获取、修改画布的像素信息以及画布的命中检测首先我仍然需要创建画布图片抽取首先要明确的一点是toDataURL()是canvas对象自身的方法而不是环境对象的这个方法会将canvas的内容抽取为一张图片(base64编码)我们来看一…

CentOS6 下Samba服务器的安装与配置

原地址&#xff1a;http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html 一、简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件&#xff0c;而SMB是Server Message Block的缩写&#xff0c;即为服务器消息块 &#xff0c;SMB主要是作为Microsoft的网…

傅里叶变换 直观_A / B测试的直观模拟

傅里叶变换 直观Many of us have heard, read, or even performed an A/B Test before, which means we have conducted a statistical test at some point. Most of the time, we have worked with data from first or third-party sources and performed these tests with ea…

tableau for循环_Tableau for Data Science and Data Visualization-速成课程

tableau for循环Tableau is software that can help you see and understand your data. It is used for data science and data visualization. Tableau allows you to connect to almost any database, drag and drop to create visualizations, and share with a click.Tabl…

请求接口时使用时间戳

&tnew Date().getTime()转载于:https://www.cnblogs.com/Glant/p/11271960.html

Java—servlet简单使用

【步骤 1】创建一个名为 input.html 的 HTML 页面&#xff0c;其中包括一个表单&#xff0c;表单中包含两 个文本域&#xff0c;分别供用户输入学号和姓名&#xff0c;该页面也包含提交和重置按钮。 【步骤 2】定义一个名为 com.demo.Student 类&#xff0c;其中包括学号 sno 和…