python数据分析建模-Python数据分析和数据建模理论基本介绍

1、数据分析基本的步骤

c4bd47505944

基本步骤图.png

(1)数据收集和操作主要是对excel、json、xml、sql等数据进行操作。

(2)数据处理主要用到的是数据分析工具pandas。

(3)数据分析主要用到的也是数据分析工具pandas,主要对时间序列数据分析、文本数据分析、图像数据处理及分析。

注意:pandas主要用于数据分析和数据处理。

(4)数据展现主要用到数据可视化(数据可视化也可以在数据分析和数据处理中执行,不一定在最终的数据展示中)

2、数据分析的工具安装和介绍

c4bd47505944

c4bd47505944

basic.png

c4bd47505944

(1)在anaconda上安装python的3点以上的版本

c4bd47505944

basic.png

(2)查看虚拟环境 conda info --envs

c4bd47505944

基本操作.png

c4bd47505944

basic.png

c4bd47505944

basic.png

(3)做项目需要用到pycharm。

3、Numpy数据结构及向量化

c4bd47505944

c4bd47505944

numpy.png

c4bd47505944

numpy.png

c4bd47505944

basic.png

注意:标量和矢量不可以进行相应的加减乘除,要把标量广播成矢量才能进行相应的操作(矢量化运算)。

c4bd47505944

numnpy.png

c4bd47505944

numpy.png

c4bd47505944

numpy.png

c4bd47505944

numpy.png

代码示例:

1、ndarray 多维数组

import numpy as np

# 生成指定维度的随机多维数据

data = np.random.rand(2, 3)

print(data)

print(type(data))

print('维度个数', data.ndim)

print('各维度大小: ', data.shape)

print('数据类型: ', data.dtype)

2、创建ndarray

# list转换为 ndarray

l = range(10)

data = np.array(l)

print(data)

print(data.shape)

print(data.ndim)

# 嵌套序列转换为ndarray

l2 = [range(10), range(10)]

data = np.array(l2)

print(data)

print(data.shape)

3、 np.zeros, np.ones 和 np.empty

# np.zeros

zeros_arr = np.zeros((3, 4))

# np.ones

ones_arr = np.ones((2, 3))

# np.empty

empty_arr = np.empty((3, 3))

# np.empty 指定数据类型

empty_int_arr = np.empty((3, 3), int)

print(zeros_arr)

print('-------------')

print(ones_arr)

print('-------------')

print(empty_arr)

print('-------------')

print(empty_int_arr)

# np.arange()

print(np.arange(10))

4、ndarray数据类型

zeros_float_arr = np.zeros((3, 4), dtype=np.float64)

print(zeros_float_arr)

print(zeros_float_arr.dtype)

# astype转换数据类型

zeros_int_arr = zeros_float_arr.astype(np.int32)

print(zeros_int_arr)

print(zeros_int_arr.dtype)

5、矢量化 (vectorization)

# 矢量与矢量运算

arr = np.array([[1, 2, 3],

[4, 5, 6]])

print("元素相乘:")

print(arr * arr)

print("矩阵相加:")

print(arr + arr)

# 矢量与标量运算

print(1. / arr)

print(2. * arr)

6、索引与切片

# 一维数组

arr1 = np.arange(10)

print(arr1)

print(arr1[2:5])

# 多维数组

arr2 = np.arange(12).reshape(3,4)

print(arr2)

print(arr2[1])

print(arr2[0:2, 2:])

print(arr2[:, 1:3])

# 条件索引

# 找出 data_arr 中 2015年后的数据

data_arr = np.random.rand(3,3)

print(data_arr)

year_arr = np.array([[2000, 2001, 2000],

[2005, 2002, 2009],

[2001, 2003, 2010]])

#is_year_after_2005 = year_arr >= 2005

#print is_year_after_2005, is_year_after_2005.dtype

#filtered_arr = data_arr[is_year_after_2005]

filtered_arr = data_arr[year_arr >= 2005]

print(filtered_arr)

# 多个条件

filtered_arr = data_arr[(year_arr <= 2005) & (year_arr % 2 == 0)]

print(filtered_arr)

7、转置

arr = np.random.rand(2,3)

print(arr)

print(arr.transpose())

8、通用函数

arr = np.random.randn(2,3)

print(arr)

print(np.ceil(arr))

print(np.floor(arr))

print(np.rint(arr))

print(np.isnan(arr))

9、np.where

arr = np.random.randn(3,4)

print(arr)

np.where(arr > 0, 1, -1)

10、常用的统计方法

arr = np.arange(10).reshape(5,2)

print(arr)

print(np.sum(arr))

print(np.sum(arr, axis=0))

print(np.sum(arr, axis=1))

11、np.all 和 np.any

arr = np.random.randn(2,3)

print(arr)

print(np.any(arr > 0))

print(np.all(arr > 0))

12、np.unique

arr = np.array([[1, 2, 1], [2, 3, 4]])

print(arr)

print(np.unique(arr))

4、数据分析的建模(建模在最后一个阶段)

c4bd47505944

1.png

(1)分类和回归基本上是用来做预测和识别的。

(2)分类、聚类、回归在机器学习上也用到。

c4bd47505944

2.png

注意:1、分类概念中的属性值就是特征值。(在历史数据、训练样本、样本中获取数据)-----分类是根据数据的特征来进行数据的分类。

c4bd47505944

3.png

c4bd47505944

4.png

注意:时序模型强调时间上的关系,而回归不强调。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值