#了解Python

##准备工作环境

python安装

从Python官网下载Python 3.8安装

库安装

numpy

Pandas

matplotlib

seaborn seadron 详细入门https://cloud.tencent.com/developer/article/1651107https://cloud.tencent.com/developer/article/1651107seadron 详细https://www.jianshu.com/p/a33c5f18df68https://www.jianshu.com/p/a33c5f18df68

导包


import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

##学习python语言基础知识

##学习正则表达式知识

#数据采集

##了解数据类型

##外部数据采集

Python爬虫

#数据分析

分为:        现状分析,         原因分析,         预测分析

数据分析(步骤)流程https://blog.csdn.net/qq_35187510/article/details/80078143https://blog.csdn.net/qq_35187510/article/details/80078143

##数据的获取与表示

本地数据打开

pandas读写文本格式的数据

找好源文件的path, 这里注意的是在Python中‘ / ’是转义符,所以如果path的时候用的是 / 的话,前面就要加个r,这样python就能辨别出这里并不是转义符的用法。Python常用的描述路径有一下三种方式:

##数据整理

怎样整理数字月份?

1、先将日期2018-03-31替换成20180331的形式

df["ymd"].str.replace("-","").str.slice(0,6)  

2、使用正则表达式的处理

def get_new_col(x):year,month,day = x["ymd"].split("-")return f"{year}年{month}月{day}日"df["中式日期"] = df.apply(get_new_col,axis = 1)

3、将日期中的年、月、日三个中文字符去除?

#链式strd = df["中文日期"].str.replace("年","").str.replace("月","").str.replace("日","")print(d)#正则
e = df["中文日期"].str.replace("[年月日]","")
print(e)

datetime模块

pd.to_datetime()函数

知识点:

数据表格中遇到 e+ 表示e的10次方, 用dtype({'c':'str'})解决;

垃圾回收: (导包, 先删,后回收):

import gc
del 对象
gc.collect()

##数据描述

Pandas库

Series

DataFrame

针对切取出来的数据,先进行几个描述统计

描述性统计

使用的函数:

value_counts( ) 是计数,统计所有非零元素的个数,以降序的方式输出Series

describe( ), 能快速生成各类统计指标

总结:一般分类数据用value_counts,数值数据用describe,这是最常用的两个统计函数。

##数据分析

Pandas库

Pandas

统计分析、相关分析

适用于Series和DataFrame的基本统计分析函数:传入axis='columns'或axis=1将会按行进行运算。
.describe():针对各列的多个统计汇总,用统计学指标快速描述数据的概要。
.sum():计算各列数据的和
.count():非NaN值的数量
.mean( )/.median():计算数据的算术平均值、算术中位数
.var()/.std():计算数据的方差、标准差
.corr()/.cov():计算相关系数矩阵、协方差矩阵,是通过参数对计算出来的。Series的corr方法用于计算两个Series中重叠的、非NA的、按索引对齐的值的相关系数。DataFrame的corr和cov方法将以DataFrame的形式分别返回完整的相关系数或协方差矩阵。
.corrwith():利用DataFrame的corrwith方法,可以计算其列或行跟另一个Series或DataFrame之间的相关系数。传入一个Series将会返回一个相关系数值Series(针对各列进行计算),传入一个DataFrame则会计算按列名配对的相关系数。
.min()/.max():计算数据的最小值、最大值
.diff():计算一阶差分,对时间序列很有效
.mode():计算众数,返回频数最高的那(几)个
.mean():计算均值
.quantile():计算分位数(0到1)
.isin():用于判断矢量化集合的成员资格,可用于过滤Series中或DataFrame列中数据的子集

适用于Series的基本统计分析函数,DataFrame[列名]返回的是一个Series类型。
.unique():返回一个Series中的唯一值组成的数组。
.value_counts():计算一个Series中各值出现的频率。
.argmin()/.argmax():计算数据最大值、最小值所在位置的索引位置(自动索引)
.idxmin()/.idxmax():计算数据最大值、最小值所在位置的索引(自定义索引)

自定义操作

apply() #调用自定义方法(自己写的函数)

自定义函数样本

异常值

组别对象数据结构的属性和方法

  • groups # 返回各组别数据的索引值
  • first() # 返回各组别里的第一条数据形成新数据
  • last() # 返回各组别里最后一条数据形成新数据
  • nth(n) # 返回各组别里第n-1条数据形成新数据
  • head(n) # 返回各组数据的前n条数据
  • tail(n)
  • get_group('group-name') # 取得某一组别数据

聚合操作

  • sum()
  • mean()
  • get_group().loc[] # 取得某组里的某索引值下的数据
  • max()
  • min()
  • agg() # 对各列进行各种方式统计计算

另外一种分析思路是对数据进行深加工

使用函数:

cut()

延伸参考:数据分箱技术Binning_慕白博客-CSDN博客_binninghttps://blog.csdn.net/geekmubai/article/details/86676313

pandas数据处理实践四(时间序列date_range、数据分箱cut、分组技术GroupBy)_进击的菜鸟-CSDN博客https://blog.csdn.net/weixin_42398658/article/details/82936525

cut的作用是分桶,它也是数据分析常用的一种方法,将不同数据划分出不同等级,也就是将数值型数据加工成分类数据,在机器学习的特征工程中应用比较多。cut可以等距划分,传入一个数字就好。这里为了更好的区分,我传入了一组列表进行人工划分,加工成相应的标签。

#数据可视化( matplotlib库)

python常用的绘图包:matplotlib 和 seaborn。

Matplotlib输出中文显示问题

##绘制并定制图表

绘制直方图

直方图是为了表明数据分布情况。通俗地说就是哪一块数据所占比例或者出现次数较高,哪一块出现概率低。

默认情况下,总共分为10段,即 bins=10

‘双峰型,一般是混合了多种数据源或者类别数据造成的。’

使用函数:

hist( )函数:参数说明

x - (n,) array or sequence of (n,) arrays. 这个参数是指定每个bin(箱子)分布的数据,对应x轴

bins - integer or array_like, optional. 这个参数指定bin(箱子)的个数,也就是总共有几条条状图. 默认为10, 个数越多,条形带越紧密。

normed -boolean, optional. If True, the first element of the return tuple will be the counts normalized to form a probability density, i.e.,n/(len(x)`dbin)这个参数指定密度,也就是每个条状图的占比例比,默认为0。

normed: 是否将得到的直方图向量归一化。默认为0

ps: normed='true' 和 normed='False'做出来的图跟 normed=1做出来的图一样的。

??根据查到的解释, normed=ture表示频率图,默认是频数图。那纵坐标应该有点区别才对??

绘制箱线图

使用函数:

dataFrame.boxplot( ): 参数说明

column - 默认为None,输入为str 或由str构成的list,其作用是指定要进行箱型图分析的列 

by - 默认为None,str or array-like,其作用为pandas的group by,通过指定by=‘columns’,可进行多组合箱型图分析

figsize - 箱型图窗口尺寸大小


二维度分析

使用函数:

isin( ) - 筛选函数

另外,在by传递多个值,箱线图的刻度自动变成元组,也就达到了横向对比的作用(这方法其实并不好,以后会讲解其他方式)。这种方法并不适宜元素过多的场景。


多维度分析

使用的函数:

groupby ( )

unstack ( )

首先要理清楚一个概念,直方图与条形图。
直方图与条形图的区别:
条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的;
直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。
由于分组数据具有连续性,直方图的各矩形通常是连续排列,而条形图则是分开排列。
条形图主要用于展示分类数据,而直方图则主要用于展示数据型数据。

单维度条形图

使用函数

plot.bar( )


双维度条形图

重要函数:

unstack( ) 行列装置

刚开始运行下面的代码时候,显示error: name 'figsize' is not defined.

解决方案就是:Try using [ %pylab ]  if  【%matplotlib inline】 does not work. 在前面加了%pylab 就ok了

##了解更多图表和定制化

##创建3D可视化图表

##用图像与地图绘制图表

##正确的图表表示正确的数据

##更多matplotlib知识

(10条消息) pandas数据分析实战 (超详细)_数据分析大大白的博客-CSDN博客_pandas数据分析

#机器学习

 

 

Python数据分析学习知识路径相关推荐

  1. Python数据分析学习 一

    Python数据分析学习系列一 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下载 第1章 准备工作 1.1 ...

  2. Python数据分析学习系列 九 绘图和可视化

    Python数据分析学习系列 九 绘图和可视化 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下载 信息可视化 ...

  3. Python数据分析学习四 NumPy基础:数组和矢量计算

    Python数据分析学习系列四NumPy基础:数组和矢量计算 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下 ...

  4. 史上最全 Python 数据分析学习路线

    近年来,数据分析师的需求非常大,90%的岗位技能需要掌握Python作为数据分析工具. 今天,小编整理了2023年史上最全Python数据分析学习路线,从语言基础.数据工具.商业分析.到机器学习,一篇 ...

  5. Python数据分析学习笔记:使用SciKit-Learn进行数据规范化

    Python数据分析学习笔记:使用SciKit-Learn进行数据规范化 数据规范化是数据挖掘的一项基础工作.不同评价指标往往具有不同的量纲,数值见的差别可能很大,不进行处理可能会影响到数据分析的结果 ...

  6. Python数据分析学习笔记:计算向量夹角

    Python数据分析学习笔记:计算向量夹角 通过计算两个向量夹角了解两个向量之间的相关性. # 计算向量夹角import numpy as npdef included_angle(a, b):a_n ...

  7. Python数据分析学习笔记:计算相关系数

    Python数据分析学习笔记:计算相关系数 1.相关系数概念 相关系数,或称线性相关系数.皮氏积矩相关系数(Pearson product-moment correlation coefficient ...

  8. Python数据分析学习笔记05:用户画像

    Python数据分析学习笔记05:用户画像 一.用户画像 用户画像是指根据用户的属性.用户偏好.生活习惯.用户行为等信息而抽象出来的标签化用户模型.通俗说就是给用户打标签,而标签是通过对用户信息分析而 ...

  9. Python数据分析学习系列 十三 Python建模库介绍

    Python数据分析学习系列 十三 Python建模库介绍 资料转自(GitHub地址):https://github.com/wesm/pydata-book 有需要的朋友可以自行去github下载 ...

最新文章

  1. Xcode中如何解决无法使用svn命令行的问题
  2. XCode 6 出现 no identity found: Command /usr/bin/codesign failed with exit code 1 解决方法汇总...
  3. Ubuntu 12.10下配置Web服务器详细教程
  4. 2、nginx配置文件
  5. python数据抓取技术与实战训练_师傅带徒弟学Python:项目实战1:网络爬虫与抓取股票数据...
  6. windows server 2012 R2 standard 评估版过期重启
  7. 重磅!2021年考研国家线公布!
  8. Kubernetes持久化存储2——探究实验
  9. Spring新手教程
  10. ABAQUS使用功能总结
  11. YouTube如何开启双语显示
  12. 项目管理知识体系指南(七)项目质量管理
  13. mat1 and mat2 shapes cannot be multiplied ( )的解决
  14. python与seo实战课程下载_黑帽seo教程:SEO快排套路与SEO快排Python应用编程技术(零基础)...
  15. 阿里巴巴食堂:看菜名我跪了~程序员:给我来个“油炸产品经理”
  16. 电子计算机二级的模拟试题,计算机二级模拟试题
  17. html渐变编织背景,css3编写浏览器背景渐变背景色
  18. jude 使用学习-2018
  19. 关于 vue3.0 实战项目 setup、 props、 reactive、ref
  20. 论文翻译—3D NDT算法论文(节选6.1-6.2)

热门文章

  1. LME镍如《卖拐、卖车、卖担架》,LPG认购大涨,YP如预期宽幅震荡2022.3.18
  2. mysql+json+ciud_mysql 5.7 json 字段类型查找、修改
  3. 苹果cmsv10首涂模板第十三套宽屏大轮播支持DIY的自适应模板
  4. python电子英汉词典显示_Python实现汉英字典
  5. 使用HDTune规避硬盘上损坏的扇区
  6. 对登录功能进行压力测试:
  7. 最实用的Android Debug Bridge (ADB)使用手册
  8. 基于JAVA的简易坦克大战(三)
  9. 《GAMES104-现代游戏引擎:从入门到实践》-03 学习笔记
  10. AV1解码器DAV1D 源码分析:annexb.c