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.contains('b')) #判断s中的各字符串是否包含b
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
python处理文本数据的更多相关文章
- 用python处理文本数据 学到的一些东西
最近写了一个python脚本,用TagMe的api标注文本,并解析返回的json数据.在这个过程中遇到了很多问题,学到了一些新东西,总结一下. 1. csv文件处理 csv是一种格式化的文件,由行和列 ...
- Python的文本数据
字符串的一些方法! 1.text.endswith(".jpg") 如果字符串是以给定子字符串结尾的,就返回值True. 2. text.upper(): ...
- python读取文本数据某一列
import codecs f = codecs.open('test1 - 副本.txt', mode='r', encoding='utf-8') # 打开txt文件,以'utf-8'编码读取 l ...
- Python文本数据互相转换(pandas and win32com)
(工作之后,就让自己的身心都去休息吧) 今天介绍一下文本数据的提取和转换,这里主要实例的转换为excel文件(.xlsx)转换world文件(.doc/docx),同时需要使用win32api,同py ...
- [Python] 糗事百科文本数据的抓取
[Python] 糗事百科文本数据的抓取 源码 https://github.com/YouXianMing/QiuShiBaiKeText import sqlite3 import time im ...
- Python之读写文本数据
知识点不多 一:普通操作 # rt 模式的 open() 函数读取文本文件 # wt 模式的 open() 函数清除覆盖掉原文件,write新文件 # at 模式的 open() 函数添加write ...
- python多种格式数据加载、处理与存储
多种格式数据加载.处理与存储 实际的场景中,我们会在不同的地方遇到各种不同的数据格式(比如大家熟悉的csv与txt,比如网页HTML格式,比如XML格式),我们来一起看看python如何和这些格式的数 ...
- python matplotlib plot 数据中的中文无法正常显示的解决办法
转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...
- 如何使用 scikit-learn 为机器学习准备文本数据
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 文本数据需要特殊处理,然后才能开始将其用于预测建模. 我们需要解析文本,以删除被称为标记化的单词.然后,这些词还需要被编码为整型或浮点型,以用作 ...
随机推荐
- python字典套字典
定义字典 familyinfo = { "family name":"Python", "family structure":[ {&quo ...
- ORACLE误删除表数据或误更新/插入数据如何恢复
工作中一不小心将本不该删除/更新/插入的数据进行删除/更新/插入了,这时候一定要尽快进行恢复. 工具/原料 PL/SQL 方法/步骤 首先新建一张测试表TEST,里面输入记录.由于删除/更 ...
- 解密TaurusDB存储端高并发之线程池
摘要:为了能加快相关任务的高效执行,TaurusDB采用多线程技术处理的方式,增加处理器单元的吞吐能力,从而提高存储端的执行效率. 1. TaurusDB背景 随着云计算进入2.0时代,数据急剧膨胀, ...
- YOLOV4源码详解
一. 整体架构 整体架构和YOLO-V3相同(感谢知乎大神@江大白),创新点如下: 输入端 --> Mosaic数据增强.cmBN.SAT自对抗训练: BackBone --> CSPDa ...
- 每日一题 - 剑指 Offer 54. 二叉搜索树的第k大节点
题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二叉搜索树 中序遍历 递归 难易程度:中等 题目描述: 给定一棵二叉搜索树,请找出其中第k大的节点. 示例1: 输入: ro ...
- html转义字符大全_网页html特殊符号,特殊字符查看对照表(整理)
在HTML中,某些字符是预留的.比如不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签.如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体HTML中一 ...
- 如何基于 echarts 实现区间柱状图(包括横向)?
目录 需求 借鉴 echarts 的 demo 最终实现思路 实现效果 遇到的问题: 代码映射 源码 最后 始终如一 需求 需要利用 echarts 实现区间柱状图,效果如下: 效果来源于:g2-柱状 ...
- .Net Core微服务入门全纪录(七)——IdentityServer4-授权认证
前言 上一篇[.Net Core微服务入门全纪录(六)--EventBus-事件总线]中使用CAP完成了一个简单的Eventbus,实现了服务之间的解耦和异步调用,并且做到数据的最终一致性.这一篇将使 ...
- (三)ansible playbook
一,YAML语法 YAML的语法和其他高阶语言类似并且可以简单表达清单.散列表.标量等数据结构.(列表用横杆表示,键值对用冒号分割,键值对里又可以嵌套另外的键值对) YAML文件扩展名通常为.yaml ...
- Code Forces 796C Bank Hacking(贪心)
Code Forces 796C Bank Hacking 题目大意 给一棵树,有\(n\)个点,\(n-1\)条边,现在让你决策出一个点作为起点,去掉这个点,然后这个点连接的所有点权值+=1,然后再 ...