请选择 进入手机版 | 继续访问电脑版
楼主: casey_c
663 1

[程序分享] 序列中的字符串处理 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.0091
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

casey_c 发表于 2017-3-14 10:28:54 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大多数序列中的元素都可以被数值表示,这意味着它们都能被转换成为数组,如下所示:
  1. import numpy as np
  2. x = np.array([2, 3, 5, 7, 11, 13])
  3. x * 2
复制代码
array([ 4,  6, 10, 14, 22, 26])
而在实际的数据分析项目中,我们也常常能够遇见由字符串构成的序列,如人名、地名等等,下面将分享一些处理字符串序列的基本方法,以及一些简单的数据读写方法。首先,大小写的处理是我们处理字符串时常见的问题,Python 内置的函数 capitalize 能够帮助我们将各种形式的字符串转化为首字母大写的形式:
  1. data = ['peter', 'Paul', 'MARY', 'gUIDO']
  2. [s.capitalize() for s in data]
复制代码
['Peter', 'Paul', 'Mary', 'Guido']
需要注意的是,这个函数无法处理缺失值,所以在转换大小写形式前,请确认你的目标字符串列表里没有缺失值:
  1. data = ['peter', 'Paul', None, 'MARY', 'gUIDO']
  2. [s.capitalize() for s in data]
复制代码
1.jpg

接下来,我们来看一下如何处理含有字符串元素的 Pandas 序列,首先我们构建一个 Pandas 序列 name:
  1. import pandas as pd
  2. names = pd.Series(data)
  3. names
复制代码
2.jpg

可以看到,我们的序列 name 中存在一个缺失值 None,我们可以通过 Pandas 序列的 str 属性将序列中的字符串元素提取出来,并调用 capitalized 函数,从而将所有字符串都转化为首字母大写的形式:
  1. names.str.capitalize()
复制代码
3.jpg

类似地,我们还可以运用函数 lower 将所有的字符串转化为小写形式:
  1. monte = pd.Series(['Graham Chapman', 'John Cleese', 'Terry Gilliam',
  2.                    'Eric Idle', 'Terry Jones', 'Michael Palin'])
复制代码
  1. monte.str.lower()
复制代码
4.jpg

查看字符串长度:
  1. monte.str.len()
复制代码
5.jpg

检查字符串首字母是否为 T:
  1. monte.str.startswith('T')
复制代码
6.jpg


以上内容转自 数析学院,原文后续还有字符串分割、正则表达式匹配等较为复杂的内容,有需要的同学可以直接访问原文查看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:字符串

casey_c 发表于 2017-3-15 11:06:23 |显示全部楼层 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 22:16