IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 数据分析01 -> 正文阅读

[人工智能]数据分析01

1.什么是数据分析

  • 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律 让数据最大化。

    • 分析用户的消费行为
      • 制定促销活动的方案
      • 制定促销时间和粒度
      • 计算用户的活跃度
      • 分析产品的回购力度
    • 分析广告点击率
      • 决定投放时间
      • 制定广告定向人群方案
      • 决定相关平台的投放
  • 数据分析是用适当的方法对收集来的大量数据进行分析,帮助人们做出判断,以便采取适当的行动

    • 保险公司从大量赔付申请数据中判断哪些为骗保的可能
    • 支付宝通过从大量的用户消费记录和行为自动调整花呗的额度
    • 短视频平台通过用户的点击和观看行为数据针对性的给用户推送喜欢的视频

2 数据分析实现流程

  • 提出问题
  • 准备数据
  • 分析数据
  • 获得结论
  • 成果可视化

3 开发环境介绍

  • anaconda
    • 官网:https://www.anaconda.com/
    • 集成环境:集成好了数据分析和机器学习中所需要的全部环境
      • 注意:安装目录不可以有中文和特殊符号
  • jupyter
    • jupyter就是anaconda提供的一个基于浏览器的可视化开发工具
  • jupyter的基本使用
    • 启动:在终端中录入:jupyter notebook的指令,按下回车
    • 新建:
      • python3:anaconda中的一个源文件
      • cell有两种模式:
        • code:编写代码
        • markdown:编写笔记
    • 快捷键:
      • 添加cell:a或者b
      • 删除:x
      • 修改cell的模式:
        • m:修改成markdown模式
        • y:修改成code模式
      • 执行cell:
        • shift+enter
      • tab:自动补全
      • 代开帮助文档:shift+tab

4 数据分析三剑客

  • numpy
  • pandas(重点)
  • matplotlib

5. numpy模块

  • NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库。使用NumPy构建多维数组,在此基础上执行的数值运算。
    ?????? 5.1 numpy创建数组
  • 使用np.array()创建
import numpy as np
# 创建一维数组
arr = np.array([1,2,3])
# 创建二维数组
arr = np.array([[1,2,3],[4,5,6]])
arr

  • 使用np的函数创建
    • random系列
# 创建一个 5行6列 数组值在0到100之间的数组
arr = np.random.randint(0,100,size=(5,6))
arr
?????? 5.2 numpy的常用属性
  • shape: 数组形状
  • ndim:维度
  • size:元素个数
  • dtype 元素类型
?????? 5.2 numpy数组的取值操作
  • 取值 arr[行,列]

行列之间用逗号隔开
取连续的用 冒号
取多个行 用中括号括起来

arr[1]  #取出了numpy数组中的下标为1的行数据
arr[2,1] # 取出第二行第一列的值  
arr[[1,3,4]] #取出不连续的多行
arr[0:2] #取出arr数组的连续的两行的数据
arr[:,0:2]   #取出arr数组中的前两列
arr[0:2,0:2] #取出前两行的前两列的数据

?????? 5.2 numpy数组常用方法
  • 改变数组形状
   arr #是一个5行6列的二维数组
   # 将一个5行6列的二维数组变为 10行2列的二维数组
   arr_1 = arr.reshape((10,3)) 
  • 计算函数
    • 最大值 最小 平均 方差 …等常见的数学运算 numpy数组都会提供
sum,max,min,mean 平均 ptp() 最大值与最小值的差

arr.max(axis=1): 求每行的最大值
arr.mean(): 求平均
arr.ptp():最大值与最小值的差

  • 数组连接
将多个numpy数组进行横向或者纵向的拼接
axis轴向的理解:0:1:行
np.concatenate((arr,arr),axis=1)

6. pandas模块

?????? 6.1 为什么要学习pandas
  • numpy能够帮助我们处理的是数值型的数据,但在数据分析中除了数值型的数据还有非数值型数据(字符串,时间序列),那么pandas就可以帮我们很好的处理除数值型的其他数据。
?????? 6.2 pandas中常用的两个类
  • Series:一维带索引的数组
  • DataFrame
?????? 6.3 pandas中常用的方法
  • 时间数据类型的转换

pd.to_datetime(col)

7. pandas模块

?????? 7.1 创建Series
  • 数据源: 字典或者数组
  • 数组源为:数组
from pandas import Series
import numpy as np
# 数据源为数组 使用默认索引
s = Series(data=[1,2,3,'four'])
s = Series(data=np.random.randint(0,100,size=(3,)))
# 数据源为数组 指定索引
s = Series(data=[1,2,3,'four'],index=['a','b','c','d'])

  • 数组源为:字典

dic = {
    '语文':[100,2],
    '数学':99,
    '理综':250
}
s = Series(data=dic)

在这里插入图片描述

?????? 7.2 Series 取值
s[0]:取第一行的值
s.语文:取索引为语文这一行的值
s[0:2]:02行的值
?????? 7.3 Series常用属性
s.shape
s.size
s.index #返回索引
s.values #返回值
s.dtype #元素的类型
?????? 7.4 Series常用方法以及运算
s = Series(data=np.random.randint(60,100,size=(10,)))
s.head(3) #显示前n个数据
s.tail(3) #显示后n个元素
s.unique() #去重
s.isnull() #用于判断每一个元素是否为空,为空返回True,否则返回False
s.notnull() # 检测现有非缺失的值
s.add(s)    # 或者   +  # 返回和其他序列或者常数之和   可以指定和行加还是给列加且可以指定每行没列加多少。	
s.sub(s)     #或者   -  # 返回和其他序列或者常数之差  



s.mul(s)     #或者   *  # 返回和其他序列或者常数的乘法 
s.div(s)     #或者   /  # 返回和其他序列或者常数的除法  

8. DataFrame模块

?????? 8.1 什么是DataFrame
  • 类似于数据库的二维表(即每一列都带名称和类型)
?????? 8.2 DataFrame 和Series的区别与联系
  • 区别:
    series: 只是一个一维数据结构,它由index和value组成。
    dataframe: 是一个二维结构,除了拥有index和value之外,还拥有column。
  • 联系:
    dataframe由多个series组成,无论是行还是列,单独拆分出来都是一个series。
?????? 8.3 DataFrame 数据源的构建
  • DataFrame可以从很多的数据源构建,比如:数组或者字典创建,结构化文件,外部数据库,hive表
# 数组
df=DataFrame(data=[[1,2,3],[4,5,6],[3,45,3,3]])
df = DataFrame(data=np.random.randint(0,100,size=(6,4)))

#字典 
dic = {
    'name':['zhangsan','lisi','wanglaowu'],
    'salary':[1000,2000,3000]
}
df = DataFrame(data=dic,index=['a','b','c'])

在这里插入图片描述

?????? 8.4 DataFrame 常用属性
df.values
df.columns
df.index
df.shape
?????? 8.5 DataFrame 常用方法以及运算
  • 因为DataFrame由多个Series构成, Seriest的常用方法同样适用于DataFrame

  • 将某一列设置为行索引: df.set_index()

例子 在这里插入图片描述

给李四这一列 +100的两种实现方式
qizhong[‘李四’]=qizhong[‘李四’]+100
qizhong_add100=qizhong.add([0,100],axis=‘columns’)

?????? 8.6 DataFrame 取值

# 取单行
h2=df.loc['2001-08-27']

# 取指定范围的行 : 表示范围 左闭右闭
h3=df.loc['2001-08-27':'2001-09-27']

# 取指定行
h4=df.loc[['2001-08-27','2001-09-27']]

# 取单列
h5=df.loc[:,'open']  
df['open']
# 取多列不连续
h6=df.loc[:,['open','high']]
h6=df[['open','high']]

# 取连续的列
h7=df.loc[:,'open':'low']
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:41:05  更:2021-09-22 14:41:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:33:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码