数据分析——python基础
前言:python数据分析的基础知识,简单总结,主要是为了方便自己写的时候查看(你们可能看不太清楚T^T),发现有用的方法,随时补充,欢迎指正
数据分析专栏:
python基础
1、三种基本数据类型
1.1列表
基础形式
表示:List=[1,2,3]
索引:List[0]=1;List[:1]=[1,2];List[-1]=3
常用函数
1、append添加一个元素
List.append(2)
2、insert插入
List.insert(1,2)在索引为1的位置增加2
3、remove删除
List.remove(1)删除元素1
4、count计数
List.count(1)输出1出现的次数
5、index位置索引
List.index(1)输出1的位置
6、reverse倒序
List.reverse()倒序输出
7、sort排序
List.sort(reverse=True)降序输出
List.sort(reverse=False)升序输出
1.2元组
cell=(1,2,3)--->不可像列表一样更改,索引等方法与列表类似
1.3字典
基础形式
dict={'name'='Tom','age'='13'}
以键名进行索引,没有像列表一样的排序,可以认为是无序的
dict['name']=Tom
常用函数
1、增加、修改
其实增加和修改有很多方式,我这里主要讲两种方式:
通过键直接修改、增加
dict['sex']='male'//如果存在sex就修改,不存在就增加
update函数
dict.update({'name'='Try'})//一样,如果存在name就修改,不存在就增加
2、get获得键值
dict.get('name')
3、dict.keys()输出所有的键
4、dict.values()输出所有的值
5、dict.items()输出所有键值对
#字典没有直接统计函数,可以用for循环+get统计,或者转换为df
2、判断、循环
- if语句
if a>1:(无括号)
****
elif a<0:
****
else:
****
- while语句
while ****:(无括号)
******
- for语句
for i in range(1,6):(无括号)
******
for i in List:
******
3、字符串
3.1常用函数
1、str[start:end:step]切片
2、split分割
str='Try is so handsome'
str.split('i')---->['Try ','s so handsome']
3、join拼接
'-'.join('Try')---->T-r-y
4、count计数
str.count('t')输出t出现的次数
5、删除空白strip、lstrip、rstrip
str.strip()删除首尾空白
6、index索引位置
str.index('t')输出t的位置,可能会报错
7、find找寻字串,不会报错(推荐使用)
如果包含子字符串返回开始的索引值,否则返回-1
8、统计字符串字母、数字的个数
s=input("please inupt string")
print(s.isdigit()) #用isdigit函数判断是否数字
print(s.isalpha()) #isalpha判断是否字母
print(not (s.isalpha() or s.isdigit()) and s.isalnum()) #isalnum判断是否数字和字母的组合
3.2正则表达式
符号 | 含义 |
---|---|
. | 匹配任意字符串,除了\n |
| | 转义符,保留字符串中的特殊元字符 |
[ ] | 字符组 |
\d | 匹配任意数字 |
\s | 匹配空白字符 |
\w | 匹配字母和下划线 |
* | 匹配前一个字符组0到无穷 |
+ | 匹配前一个字符组1到无穷 |
? | 匹配前一个字符组0到1 |
还有很多这里不一一列举!(正则表达式很重要)
补充:
1、findall函数
是找寻函数
re.findall()匹配的时候如果有括号,只能取到括号里面的内容,多个括号返回列表
2、search函数
re.search()函数将对整个字符串进行搜索,并返回第一个匹配的字符串的match对象
3、match函数
从头匹配,不匹配返回None
4、compile函数
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象
pattern = re.compile(r'\d+')
m = pattern.match('one12twothree34four')
【注】re.search()和re.match()函数返回match对象包括分组时,group(0)返回【完整匹配】的字符串,group(1)及以上分别返回各分组字符串。groups()函数返回各分组组成的元组对象
注:(.*?)匹配任意字符串
4、 函数
函数主要是参数的问题:
1、必选参数
必须要赋值的参数,否则调用函数报错
2、默认参数
函数已经赋值的参数,不可更改
3、可变参数
如add(*args)--->这里的*args就是可变参数,可以接受多个实参(如列表,可以简单的类似指针)
4、关键字参数
add(**kwargs)----->这个就是针对字典的,**kwargs既可以接受多个实参,还可以把多个实参指定各自的实参名(这不就是字典吗???!)
数据分析——python基础的更多相关文章
- 利用Python进行数据分析——Numpy基础:数组和矢量计算
利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...
- Python数据分析(基础)
目录: Python基础: Python基本用法:控制语句.函数.文件读写等 Python基本数据结构:字典.集合等 Numpy:简述 Pandas:简述 一. Python基础: 1.1 文件读取 ...
- Python数据分析——numpy基础简介
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:基因学苑 NumPy(Numerical Python的简称)是高性 ...
- 入门python有什么好的书籍推荐?纯干货推荐,你值得一看 python基础,爬虫,数据分析
Python入门书籍不用看太多,看一本就够.重要的是你要学习Python的哪个方向,或者说你对什么方向感兴趣,因为Python这门语言的应用领域比较广泛,比如说可以用来做数据分析.机器学习,也可以用来 ...
- python基础系列教程,数学基础系列教程,数据分析系列教程,神经网络系列教程,深度学习系列视频教程分享交流
大家好,我是一个技术爱好者,目前对大数据人工智能很是痴迷,虽然学历只有高中,目前正在大踏步的向着人工智能狂奔,如果你也想学习,那就来吧 我的学习进度python基础(Numpy,pandas,matp ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 第一篇:python基础
python基础 python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...
- Day1 - Python基础1 介绍、基本语法、流程控制
Python之路,Day1 - Python基础1 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...
- Python基础总结
刚学习Python时,边学边总结的,采用思维导图的形式, 适合回顾使用.内容参考<Python:从入门到实践>一书. 再给出一张Datacamp网站上的一张关于Python基础的总 ...
随机推荐
- Bootstrap-table实现动态合并相同行
Bootstrap-table 表格合并相同名字的列 @编写function() /** * 合并行 * @param data 原始数据(在服务端完成排序) * @param fieldName ...
- CISCO 3750交换机堆叠
双交换机堆叠操作 一.基本要求: ios版本要一致.专用的堆叠模块和堆叠线缆.最大堆叠个数9 二.堆叠的好处: 高密度端口.便于管理.堆叠的交换机可以看作一台交换机统一配置 三.堆叠实例: 1:分别清 ...
- IOI 2013 袋熊(线段树+分块+决策单调性)
题意 http://www.ioi2013.org/wp-content/uploads/tasks/day1/wombats/Wombats%20zh%20(CHN).pdf 思路 我们设矩形的 ...
- Elasticsearch由浅入深(十一)内核原理
倒排索引组成结构以及索引不可变原因 对于倒排索引是非常适合用来进行搜索的它的结构:(1)包含这个关键词的document list(2)包含这个关键词的所有document的数量:IDF(invers ...
- SpringCloud Feign 参数问题
今天遇到使用Feign调用微服务,传递参数时遇到几个问题 1.无参数 以GET方式请求 服务提供者 @RequestMapping("/hello") public String ...
- 3 datax mysql和hive之间相互导入
mysql-->hive 0 参考文档: https://github.com/alibaba/D ...
- Django+nginx+gunicore+supervisor+阿里云主机 部署博客项目
1 准备阶段 1 新鲜的阿里云主机 2 购买一个喜欢的域名 3 创建python的虚拟环境 2 阿里云主机的选取 咱们就是为了实验,我买了最便宜的阿里云主机 3 阿里云主机创建一个超级用户 3.1 默 ...
- SCCM+WSUS的方式分发补丁
简单来说,System Center Configuration Manager(SCCM/ConfigMgr)由SMS(Systems Management Server)发展而来,其作为一款针对企 ...
- 《 .NET并发编程实战》实战习题集 - 1 - 隔离副作用
先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.
- 【须弥SUMERU】分布式安全服务编排实践
一.概要 1.分布式安全服务编排概念 2.须弥(Sumeru)关键实现思路 3.应用场景 二.前言 在笔者看来,安全防御的本质之一是增加攻击者的攻击成本,尤其是时间成本.那么从防御的角度来说,如何尽早 ...