数据分析——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基础的总 ...
随机推荐
- leetcode组合总和 Ⅳ 解题路径
题目: 关于动态规划类题目的思路如何找在上一篇博客 https://www.cnblogs.com/niuyourou/p/11964842.html 讲的非常清楚了,该博客也成为了了leetcode ...
- GDB 调试C++
原来比较熟悉用gdb调试C程序,没有用过gdb调试C++程序,原理上没有什么区别.在形式上有一些区别,因为C++支持名字空间和class等机制,把函数的可见域做了隔离. 拿envoy的代码作个例子: ...
- 姿态角(RPY)的优化目标函数
在Pose-Graph的过程中,如果使用G2O优化函数库,那么似乎是不用自己编写代价函数(也就是优化目标函数)的,因为G2O有封装好的SE3等格式,使得Pose-Graph的过程变得简单了,即只需要设 ...
- [******] java多线程连续打印abc
题目描述 建立三个线程A.B.C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印. 5种方法 使 ...
- STM32Cube在Main里判断USB是否已连接到电脑
首先添加这两个Includes: #include "usbd_def.h" #include "usbd_hid.h" 然后就可以在代码里用这个来判断是否有连 ...
- win10配置jdk1.8环境变量
1,安装好jdk之后,目录如下 2,右键计算机 - 属性 - 高级系统设置 3,环境变量 4,新增系统变量JAVA_HOME,输入内容D:\work\Program Files\Java\jdk1.8 ...
- Spring Cloud Feign高级应用
1.使用feign进行服务间的调用 spring boot2X整合nacos一使用Feign实现服务调用 2.开启gzip压缩 Feign支持对请求与响应的压缩,以提高通信效率,需要在服务消费者配置文 ...
- Nginx开启gzip提高页面加载速度
今天发现页面多次请求数据且加载的数据大,需要等待的时间很长 记得Nginx有gzip,可以对数据进行压缩 gzip是nginx服务器的ngx_http_gzip_module模块提供的在线实时数据压缩 ...
- Sitecore 9 介绍
Sitecore 9就在这里.这个最新版本更大,更智能,更易于使用 - 并且更好地帮助您实现业务和数字目标. 现在,Sitecore 9对营销人员和非Sitecore开发人员来说更容易使用.它拥有许多 ...
- json工具类(三)——net包
package com.ruoyi.common.utils.json; import java.util.List; import java.util.Map; import net.sf.json ...