《Python数据科学入门》之阅读笔记(第2章)

Python数据科学入门

Dmitry Zinoviev著
熊子源 译


第二章 数据科学的Python核心


第4单元 理解基本的字符串函数
大小写转换函数:
lower()将所有字符转换为小写
upper()将所有字符转换为大写
capitalize()将第一个字符转换为大写,同时将后面的字符都转化为小写

(这些操作都不会影响其他非字母字符)

字符串判定函数:
islower()判断字符串中的所有字母是否都是小写
isupper()判断字符串中的所有字母是否都是大写
isspace()检查所有字符是否为空格
isdigit()检查所有字符是否为0-9中的数字
isalpha()检查所有字符是否为a-z,A-Z中的字母字符
符号b表示二进制数组:
Array1 = b”hello”	#二进制数组
Array2 = ”hello”	#字符串数组
>>>Array1[0]
104
>>>Array2[0]
‘h’
Array1.decode()	#将二进制数组转化为字符串数组
Array2.encode()	#将字符串数组转化为二进制数组
去除字符串周围的空格:
strip()删除整个字符串前后的空格
istrip()删除字符串左边(开始处)的空格
rstrip()删除字符串右边(结束处)的空格

(不删除字符串内部的空格)

分割、连接字符串:
Split(delim=””)			#使用delim中的内容作为分隔符,来分割字符串
“”.join()				#使用””中的内容将()中的内容连接起来
查找字符索引:
“”.find(needle)		#查找needle在””字符串中第一次出现的索引值
“”.Count(needle)	#查找needle在””字符串中出现的次数

(区别字符串大小写)


第5单元 选择合适的数据结构
列表搜索时间是线性的,不适合存储大量的可搜索数据
元组不可变的列表,搜索时间也是线性的
集合不存在索引,适合成员查询和消除重复项
字典构建一个从键到值得映射,适合键值的查找

字典说明:
1,通过(键,值)这样的元组列表创建字典
2,使用内置类构造函数enumerate(seq)创建字典(seq为值,键位对应的序号)
3,使用内置类构造函数zip(kseq,vseq)创建字典(kseq为键序列,vseq为值序列(两个序列的长度相同))


第6单元 通过列表推导式理解列表

列表推导式是将数据集(不一定是列表)转换为列表的表达式。
(没什么只要知识点,本来也就没有多少内容,就没有总结了)


第7单元 使用计数器

Collections()模块定义计数器
将计数的集合传递给构造函数counter,然后使用most_common()方法获取各项及其出现频率。

from collections import counter
phrase = “a man a plan a canal panama”
cntr = counter(phrase.split())
cntr.most_common()

第8单元 使用文件

With语句:显式的打开一个文件,在退出Python后能自动关闭文件

    #普通语句
    f = open(name,mode=”r”)
        	f.close()
    #with语句    
    With open(name,mode=”r”) as f
f.read()以字符串或二进制形式读取文件所有数据
f.write()以字符串或二进制形式向文件写入内容

第9单元 上网

Urllib.parse模块提供解析和构建网址的工具
Urlparse()方法将网址分为六个元素的元组:协议、网络地址、文件系统路径、参数、查询和片段


第10单元 使用正则表达式实现模式匹配

将一个需要使用多次的正则表达式编译成Pattern对象,使得模式匹配更高效

CompiledPattern = re.complie(pattern,flags=0)
正则表达式说明

基本操作:

·除换行符外的任意字符
a字母a
a|ba或b

字符类:

[a-d]a,b,c,d中任一字符
[^a-d]除a,b,c,d中任意字符
\d一个数字字符
\D一个非数字字符
\s一个空白字符
\S一个非空白字符
\w一个字母数字字符
\W一个非字母数字字符

数量相关:

X*0个或多个X
X+1个或多个X
X?0或1个X
X{2}2个且仅2个X
X{2,5}2-5个X

转移字符:

\n换行符
\r回车符
\tTab

界定符号:

^字符起始处
\b单词边界
\B非单词边界
$字符结束处
Re模块
re.split(pattern,string,maxsplit=0,flags=0) 	#通过Pattern(正则表达式)将字符串分为maxsplit个字符串,并返回子字符串列表
re.match(pattern,string,flags=0)				#检查字符串开头是否与Pattern相匹配
re.search(pattern,string,flags=0)				#检查整个字符串是否存在Pattern部分
re.findall(pattern,string,flags=0) 				#查找与Pattern相匹配的所有子字符串
re.sub(pattern,repl,string,flags=0)				#用repl替换字符串的所有非重叠匹配部分

第11单元 globbing文件名

Globbing是匹配特定文件名和通配符的过程,是正则表达式的简化版。
(通配符可以包含特殊字符’*’,”?”。+·不是特殊字符)


第12单元 Picking数据

Pickle模块用于实现序列化——将任意的Python数据结构保存到一个文件中,并将其作为Python表达式读回。


"We can never learn to fly without crashing a few times."--《The Flash》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值