前言: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. leetcode组合总和 Ⅳ 解题路径

    题目: 关于动态规划类题目的思路如何找在上一篇博客 https://www.cnblogs.com/niuyourou/p/11964842.html 讲的非常清楚了,该博客也成为了了leetcode ...

  2. GDB 调试C++

    原来比较熟悉用gdb调试C程序,没有用过gdb调试C++程序,原理上没有什么区别.在形式上有一些区别,因为C++支持名字空间和class等机制,把函数的可见域做了隔离. 拿envoy的代码作个例子: ...

  3. 姿态角(RPY)的优化目标函数

    在Pose-Graph的过程中,如果使用G2O优化函数库,那么似乎是不用自己编写代价函数(也就是优化目标函数)的,因为G2O有封装好的SE3等格式,使得Pose-Graph的过程变得简单了,即只需要设 ...

  4. [******] java多线程连续打印abc

    题目描述 建立三个线程A.B.C,A线程打印10次字母A,B线程打印10次字母B,C线程打印10次字母C,但是要求三个线程同时运行,并且实现交替打印,即按照ABCABCABC的顺序打印. 5种方法 使 ...

  5. STM32Cube在Main里判断USB是否已连接到电脑

    首先添加这两个Includes: #include "usbd_def.h" #include "usbd_hid.h" 然后就可以在代码里用这个来判断是否有连 ...

  6. win10配置jdk1.8环境变量

    1,安装好jdk之后,目录如下 2,右键计算机 - 属性 - 高级系统设置 3,环境变量 4,新增系统变量JAVA_HOME,输入内容D:\work\Program Files\Java\jdk1.8 ...

  7. Spring Cloud Feign高级应用

    1.使用feign进行服务间的调用 spring boot2X整合nacos一使用Feign实现服务调用 2.开启gzip压缩 Feign支持对请求与响应的压缩,以提高通信效率,需要在服务消费者配置文 ...

  8. Nginx开启gzip提高页面加载速度

    今天发现页面多次请求数据且加载的数据大,需要等待的时间很长 记得Nginx有gzip,可以对数据进行压缩 gzip是nginx服务器的ngx_http_gzip_module模块提供的在线实时数据压缩 ...

  9. Sitecore 9 介绍

    Sitecore 9就在这里.这个最新版本更大,更智能,更易于使用 - 并且更好地帮助您实现业务和数字目标. 现在,Sitecore 9对营销人员和非Sitecore开发人员来说更容易使用.它拥有许多 ...

  10. json工具类(三)——net包

    package com.ruoyi.common.utils.json; import java.util.List; import java.util.Map; import net.sf.json ...