我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pandas文本处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

pandas文本处理

  1 import pandas as pd
  2 import numpy as np
  3 
  4 s = pd.Series(['A', 'b', 'c', 'bbhello', '123', np.nan, 'hj'])
  5 df = pd.DataFrame({'key1': list('abcdef'),
  6                    'key2': ['hee', 'fv', 'w', 'hija', '123', np.nan]})
  7 print(s)
  8 print('-'*8)
  9 print(df)
 10 print('-'*8)
 11 '''
 12 0          A
 13 1          b
 14 2          c
 15 3    bbhello
 16 4        123
 17 5        NaN
 18 6         hj
 19 dtype: object
 20 --------
 21   key1  key2
 22 0    a   hee
 23 1    b    fv
 24 2    c     w
 25 3    d  hija
 26 4    e   123
 27 5    f   NaN
 28 --------
 29 '''
 30 # 直接通过.str调用字符串方法,可以对Series、DataFrame使用,自动过滤NaN值
 31 print(s.str.count('b'))
 32 '''
 33 0    0.0
 34 1    1.0
 35 2    0.0
 36 3    2.0
 37 4    0.0
 38 5    NaN
 39 6    0.0
 40 dtype: float64
 41 '''
 42 print(df['key2'].str.upper())
 43 '''
 44 0     HEE
 45 1      FV
 46 2       W
 47 3    HIJA
 48 4     123
 49 5     NaN
 50 Name: key2, dtype: object
 51 '''
 52 # 将所有的列名改为大写
 53 df.columns = df.columns.str.upper()
 54 print(df)
 55 '''
 56   KEY1  KEY2
 57 0    a   hee
 58 1    b    fv
 59 2    c     w
 60 3    d  hija
 61 4    e   123
 62 5    f   NaN
 63 '''
 64 # 字符串常用方法 --lower,upper,len,starswith,endswith
 65 
 66 print('小写,lower()',s.str.lower())
 67 print('大写,upper()',s.str.upper())
 68 print('长度,len()',s.str.len())
 69 print('判断起始是否为b,startswith()',s.str.startswith('b'))
 70 print('判断结束是否为"o",endswith()',s.str.endswith('o'))
 71 '''
 72 小写,lower() 0          a
 73 1          b
 74 2          c
 75 3    bbhello
 76 4        123
 77 5        NaN
 78 6         hj
 79 dtype: object
 80 大写,upper() 0          A
 81 1          B
 82 2          C
 83 3    BBHELLO
 84 4        123
 85 5        NaN
 86 6         HJ
 87 dtype: object
 88 长度,len() 0    1.0
 89 1    1.0
 90 2    1.0
 91 3    7.0
 92 4    3.0
 93 5    NaN
 94 6    2.0
 95 dtype: float64
 96 判断起始是否为b,startswith() 0    False
 97 1     True
 98 2    False
 99 3     True
100 4    False
101 5      NaN
102 6    False
103 dtype: object
104 判断结束是否为"o",endswith() 0    False
105 1    False
106 2    False
107 3     True
108 4    False
109 5      NaN
110 6    False
111 dtype: object
112 '''
113 # 字符串常用方法 --strip
114 
115 s2 = pd.Series([' jack', 'jill ', ' jesse  '])
116 df2 = pd.DataFrame(np.random.randn(3, 2), columns=[' A ', ' B'], index=range(3))
117 print(s2)
118 print('-'*8)
119 print(df2)
120 print('-'*8)
121 '''
122 0        jack
123 1       jill 
124 2     jesse  
125 dtype: object
126 --------
127          A          B
128 0 -0.333042 -0.467830
129 1  0.605179 -0.658910
130 2 -0.490881 -0.639754
131 --------
132 '''
133 print(s2.str.strip())
134 print('-'*8)
135 print(s2.str.lstrip())
136 print('-'*8)
137 print(s2.str.rstrip())
138 '''
139 0     jack
140 1     jill
141 2    jesse
142 dtype: object
143 --------
144 0       jack
145 1      jill 
146 2    jesse  
147 dtype: object
148 --------
149 0      jack
150 1      jill
151 2     jesse
152 dtype: object
153 '''
154 df2.columns = df2.columns.str.strip()
155 print(df2)
156 '''
157           A         B
158 0 -0.801508  1.650113
159 1 -0.669556 -1.195999
160 2  0.277338 -0.727100
161 
162 '''
163 
164 # 字符串常用方法  -- replace()
165 df3 = pd.DataFrame(np.random.randn(3, 2), columns=[' A a', ' B  b'], index=range(3))
166 df3.columns = df3.columns.str.replace(' ', '-', n=2)
167 print(df3)
168 '''
169        -A-a     -B- b
170 0 -1.225938  0.296270
171 1  0.769037  2.794032
172 2 -1.686818  0.109314
173 '''
174 # 字符串常用方法 -- spilt、rsplit
175 s4 = pd.Series(['a,b,c', '1,2,3', ['a,,,c'], np.nan])
176 print(s4)
177 print(s4.str.split(','))
178 '''
179 0      a,b,c
180 1      1,2,3
181 2    [a,,,c]
182 3        NaN
183 dtype: object
184 0    [a, b, c]
185 1    [1, 2, 3]
186 2          NaN
187 3          NaN
188 dtype: object
189 '''
190 # 直接索引得到一个list
191 # 可以使用get或[]符号访问拆散列表中的元素
192 print(s4.str.split(',').str[0])
193 print(s4.str.split(',').str.get(0))
194 '''
195 0      a
196 1      1
197 2    NaN
198 3    NaN
199 dtype: object
200 0      a
201 1      1
202 2    NaN
203 3    NaN
204 dtype: object
205 '''
206 
207 # 可以使用expand可以轻松扩展此操作以返回DataFrame
208 # n 参数限制分割数
209 print(s4.str.split(','))
210 print('-' * 8)
211 print(s4.str.split(',', expand=True))
212 '''
213 0    [a, b, c]
214 1    [1, 2, 3]
215 2          NaN
216 3          NaN
217 dtype: object
218 --------
219      0    1    2
220 0    a    b    c
221 1    1    2    3
222 2  NaN  NaN  NaN
223 3  NaN  NaN  NaN
224 '''
225 print(s4.str.split(',', expand=True, n=1))
226 '''
227      0    1
228 0    a  b,c
229 1    1  2,3
230 2  NaN  NaN
231 3  NaN  NaN
232 '''
233 # rsplit类似于split,反向工作,即从字符串的末尾到字符串的开头
234 print(s4.str.split(',', expand=True, n=1))
235 print('-' * 8)
236 print(s4.str.rsplit(',', expand=True, n=1))
237 '''
238      0    1
239 0    a  b,c
240 1    1  2,3
241 2  NaN  NaN
242 3  NaN  NaN
243 --------
244      0    1
245 0  a,b    c
246 1  1,2    3
247 2  NaN  NaN
248 3  NaN  NaN
249 '''
250 
251 df4 = pd.DataFrame({'key1': ['a,b,c', '1,2,3', [':,,, ']],
252                     'key2': ['a-b-c', '1-2-3', [':-.- ']]})
253 print(df4)
254 print('-'*8)
255 print(df4['key2'].str.split('-'))
256 '''
257       key1     key2
258 0    a,b,c    a-b-c
259 1    1,2,3    1-2-3
260 2  [:,,, ]  [:-.- ]
261 --------
262 0    [a, b, c]
263 1    [1, 2, 3]
264 2          NaN
265 Name: key2, dtype: object
266 '''
267 # 通过索引获取分割后的元素
268 df4['k201'] = df4['key2'].str.split('-').str[0]
269 df4['k202'] = df4['key2'].str.split('-').str[1]
270 df4['k203'] = df4['key2'].str.split('-').str[2]
271 print(df4)
272 '''
273       key1     key2 k201 k202 k203
274 0    a,b,c    a-b-c    a    b    c
275 1    1,2,3    1-2-3    1    2    3
276 2  [:,,, ]  [:-.- ]  NaN  NaN  NaN
277 '''

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pandas文本处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pandas文本处理

1 import pandas as pd 2 import numpy as np 3 4 s = pd.Series(['A', 'b', 'c', 'bbhello', '123', np.nan, 'hj']) 5 df
2023-01-31

Pandas文本数据处理的示例分析

这篇文章主要介绍了Pandas文本数据处理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 文本数据类型在pandas中存储文本数据有两种方式:object 和
2023-06-20

怎么用pandas处理hdf5文件

本篇内容介绍了“怎么用pandas处理hdf5文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是HDF5HDF5:Hierarchic
2023-06-13

怎么用Python Pandas处理CSV文件

本篇内容主要讲解“怎么用Python Pandas处理CSV文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Python Pandas处理CSV文件”吧!读取Pandas文件df = p
2023-07-02

pandas中对文本类型数据的处理的方法有哪些

本篇内容介绍了“pandas中对文本类型数据的处理的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.英文字母大小写转换及填充s
2023-06-25

测试报告丨DolphinDB与Pandas对于大文本文件处理的性能对比

Pandas是Python的一个包,最初被作为金融数据分析工具而开发,为时间序列分析提供了很好的支持。 DolphinDB Database 是一款高性能的分布式时序数据库。它集成了功能强大的编程语言和高容量高速度的流数据分析系统,为海量数据(特别是时间序列数
测试报告丨DolphinDB与Pandas对于大文本文件处理的性能对比
2022-01-17

用 Pandas 处理结构不佳的 Excel 文件

本文将讨论如何使用pandas和openpyxl来读取这些类型的Excel文件,并干净地将数据转换为适合进一步分析的DataFrame。

利用pandas轻松处理txt文件数据

利用pandas轻松处理txt文件数据在数据分析和处理中,常遇到从txt文件读入的数据需要进行处理的情况。比如数据格式混乱,需要清洗;某些列无效,需要删除;某些列需要转换类型等。这些工作可能带来很大的工作量和时间花费,但是我们可以通过pa
利用pandas轻松处理txt文件数据
2024-01-19

assign之python文本处理

需求:code:import osimport timeimport numpy as npdef to_log_txt(filename): if not os.path.exists('Out_file'): os.
2023-01-31

shell 文本数据处理

文章目录 重定向管道`grep` 模式搜索`sed` 匹配替换`awk` 复杂业务编程(TODO)参考   在 linux shell 中,不同工具、程序间通过文本进行数据交互,即以文本作为输入、输出标准格式。文本成为公共的
2023-08-24

使用pandas读取和处理Excel文件的方法

Pandas如何读取Excel文件并处理数据引言:Pandas是一种常用的数据处理和分析工具,它提供了丰富的函数和方法,方便用户对数据进行清洗、转换和分析。在实际工作中,我们经常需要处理Excel格式的数据文件,本文将介绍如何使用Pand
使用pandas读取和处理Excel文件的方法
2024-01-24

Shell脚本如何逐行处理文本文件

经常会对文体文件进行逐行处理,在Shell里面如何获取每行数据,然后处理该行数据,最后读取下一行数据,循环处理.有多种解决方法如下: 1.通过read命令完成. read 命令从标准输入中读取一行,并把输入行的每
2022-06-04

C#中怎么处理文本文件

这期内容当中小编将会给大家带来有关C#中怎么处理文本文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C#处理文本文件C#处理文本文件是一种常用的文件格式,所以如何处理文本文件也就成为编程的一个重点。本文
2023-06-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录