《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|b | a或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 | 回车符 |
\t | Tab |
界定符号:
^ | 字符起始处 |
---|---|
\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》
)
《Python数据科学入门》之阅读笔记(第2章)相关推荐
- Python 数据科学入门教程:机器学习:回归
Python 数据科学入门教程:机器学习:回归 原文:Regression - Intro and Data 译者:飞龙 协议:CC BY-NC-SA 4.0 引言和数据 欢迎阅读 Python 机器 ...
- 《Python数据科学入门》之数据库的使用(第4章)
Python数据科学入门 Dmitry Zinoviev著 熊子源 译 第四章 使用数据库 本章介绍了数据库的使用.之前那本<Python爬虫>中有谈到数据库的使用,这里就不再详细介绍.仅 ...
- python爬虫从入门到实战笔记——第四章Scrapy框架
推荐阅读: python爬虫从入门到实战笔记--第一章爬虫原理和数据爬取 python爬虫从入门到实战笔记--第二章非结构化数据和结构化数据的提取 python爬虫从入门到实战笔记--第三章动态HTM ...
- 有前途的人工智能大数据分析相关职业:Python数据科学入门之路
2019独角兽企业重金招聘Python工程师标准>>> 为什么学习Python数据科学? Python是数据科学职业所需的宝贵技能之一.Python是数据科学的首选编程语言. 201 ...
- python数据科学入门_干货!小白入门Python数据科学全教程
前言本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据工 ...
- python数据科学用法_Matplotlib 使用 - 《Python 数据科学手册》学习笔记
一.引入 import matplotlib as mpl import matplotlib.pyplot as plt 二.配置 1.画图接口 Matplotlib 有两种画图接口: (1)一个是 ...
- Python 数据科学入门
http://python.jobbole.com/85394/ Python 在数据科学领域越来越流行了.它的流行不无道理. Python 容易学,有超强数据科学库,并且和 Hadoop 以及 Sp ...
- Python 数据科学入门教程:OpenCV
图像和视频分析 原文:Images and Video Analysis 译者:飞龙 协议:CC BY-NC-SA 4.0 一.Python OpenCV 入门 欢迎阅读系列教程,内容涵盖 OpenC ...
- Python 数据科学入门教程:TensorFlow 聊天机器人
TensorFlow 聊天机器人 原文:Creating a Chatbot with Deep Learning, Python, and TensorFlow 译者:飞龙 协议:CC BY-NC- ...
最新文章
- AI一分钟 | 小鹏汽车回应前苹果员工窃取商业机密:积极配合相关调查
- 如何合并两个Docker 镜像
- Word中快速插入目录
- Hadoop参数汇总
- 脑芯编:窥脑究竟,织网造芯(二)
- 【算法学习笔记】19.算法设计初步 最大子列和问题的几种方法
- Angulary应用依赖里的zone.js
- 数据库恢复相关知识笔记
- php 彩票系统,hsyl12141511 一套完整的PHP版彩票系统 - 下载 - 搜珍网
- Python数据科学库-小测验
- Leetcode 142. Linked List Cycle IIJAVA语言
- idea 页面改了 网页没_如何做出高大上的PPT?试试美得令人窒息的网页风格!
- Linux学习笔记6 - 用户和组群账户管理
- 2017年美国大学生数学建模竞赛E题O奖65123论文解读
- Inventor Pro v2008
- 十大排序算法总结与实现
- 电脑护眼,老司机教你电脑护眼设置怎么开
- [转载]前端代码规范 及 最佳实践
- macOS Big Sur 11.0 B2(20A4300b)原版镜像
- PCM开发板模块实验指导--IIC主从实验
热门文章
- Dart —— 函数 函数参数 匿名函数
- 修改java环境变量_怎么配置java环境变量
- 国外变电站3d可视化技术发展_国外沥青路面纵向施工接缝技术的发展
- 手把手带你安装webpack --mac电脑哦~
- 基于深度学习的人脸检测和关键点检测推理实践(OpenCV实现,含代码)
- 神经网络架构大盘点--读Fjodor Van Veen的《neural-network-zoo》
- 数据挖掘 沪深股市预测
- 关于win10 共享打印机遇到的问题(自己留用)
- 太秀了!那个在 GitHub 用文言文编程的小哥,竟从 28 万行唐诗中找出了对称矩阵...
- 第一章、Ansible的详细介绍与安装