前言:python数据分析的基础知识,简单总结,主要是为了方便自己写的时候查看(你们可能看不太清楚T^T),发现有用的方法,随时补充,欢迎指正



数据分析专栏:

  1. 数据分析——python基础
  2. 数据分析——numpy
  3. 数据分析——pandas
  4. 数据分析——数据可视化
  5. 数据分析——数据处理实例

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基础的更多相关文章

  1. 利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  2. Python数据分析(基础)

    目录: Python基础: Python基本用法:控制语句.函数.文件读写等 Python基本数据结构:字典.集合等 Numpy:简述 Pandas:简述 一. Python基础: 1.1 文件读取 ...

  3. Python数据分析——numpy基础简介

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:基因学苑 NumPy(Numerical Python的简称)是高性 ...

  4. 入门python有什么好的书籍推荐?纯干货推荐,你值得一看 python基础,爬虫,数据分析

    Python入门书籍不用看太多,看一本就够.重要的是你要学习Python的哪个方向,或者说你对什么方向感兴趣,因为Python这门语言的应用领域比较广泛,比如说可以用来做数据分析.机器学习,也可以用来 ...

  5. python基础系列教程,数学基础系列教程,数据分析系列教程,神经网络系列教程,深度学习系列视频教程分享交流

    大家好,我是一个技术爱好者,目前对大数据人工智能很是痴迷,虽然学历只有高中,目前正在大踏步的向着人工智能狂奔,如果你也想学习,那就来吧 我的学习进度python基础(Numpy,pandas,matp ...

  6. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  7. 第一篇:python基础

    python基础   python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...

  8. Day1 - Python基础1 介绍、基本语法、流程控制

    Python之路,Day1 - Python基础1   本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼 ...

  9. Python基础总结

      刚学习Python时,边学边总结的,采用思维导图的形式, 适合回顾使用.内容参考<Python:从入门到实践>一书.   再给出一张Datacamp网站上的一张关于Python基础的总 ...

随机推荐

  1. 数据结构or算法

    其实长久以来 mrxfyxj一直纠结着数据结构和算法到底有什么区别 只要学了一个算法就在惋惜她为什么不能是数据结构 产生这种想法的原因是mrxf觉得他blog里数据结构的东西很少 而mrxf自身又有一 ...

  2. 洛谷P5437/5442 约定(概率期望,拉格朗日插值,自然数幂)

    题目大意:$n$ 个点的完全图,点 $i$ 和点 $j$ 的边权为 $(i+j)^k$.随机一个生成树,问这个生成树边权和的期望对 $998244353$ 取模的值. 对于P5437:$1\le n\ ...

  3. [LeetCode] 891. Sum of Subsequence Widths 子序列宽度之和

    Given an array of integers A, consider all non-empty subsequences of A. For any sequence S, let the  ...

  4. [LeetCode] 102. Binary Tree Level Order Traversal 二叉树层序遍历

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  5. Golang(九)简单 Goroutine 池实现

    0. 前言 最近使用 Golang 写一个并发执行的测试脚本 之前习惯使用 Java,习惯性想先建一个线程池.然后意识到 Golang 没有封装好的线程池 结合之前学习的 Goroutine 原理和 ...

  6. EventBus原理解析

    前言 EventBus的核心思想是观察者模式 (生产/消费者编程模型) . SpringBoot+EventBus使用教程(一) SpringBoot+EventBus使用教程(二) 通过前面的文章我 ...

  7. vs2019 更新之后无法用ctrl+d再设置回来..

    工具-选项-环境-键盘

  8. Editor模式下实例化Prefab

    PrefabUtility.InstantiatePrefab//需要关联 GameObject.Instantiate//不需要关联

  9. Angular中上传图片到分布式文件服务器FastDFS上

    使用步骤 1.上传下载需要的依赖 2.springmvc中配置多媒体解析器并加载 <!-- 配置多媒体解析器 --> <bean id="multipartResolver ...

  10. AtomicInteger例子

    AtomicInteger可以保证原子性,可见性,有序性 public class AtomicIntegerTest { private static AtomicInteger value = n ...