0人加入学习
前置知识:新零售-无人智能售货机商务数据分析
价格 免费

第三小节 小数定标标准化数据

一、公式

X*=X/10^k(其中k由数据绝对值最大的那个数的位数去确认的)

二、总结 适用程度

离差标准化<小数定标标准化<li c

[展开全文]

确定分类的数量

如何将连续型的数据映射到我们的类别型数据

离散化连续型数据的方法

等宽法 cut函数 对数据要求比较高 损坏模型

等频法

聚类分析法

[展开全文]

空间距离计算 

梯度下降法

 

消除特征之间或者量纲的差异

[展开全文]

第三节 标准化数据

第一小节 离差标准化数据

1.离差标准化公式

X*=(X-min)/(max-min)

缺点:若数据集中某个数值很大,则离差标准化的值就会接近于0,并且相互之间差别不大。若将来遇到超过目前属性[min,max]取值范围的时候,会引起系统出错,需重新que

[展开全文]

第三小节 重叠合并数据

combine_first方法

一、介绍

当两份数据的内容几乎一致,但某些特征在其中一张表上是完整的恶,而在另外一张表上的数据则是完整的

二、具体用法

pandas.DataFrame.combine_first(other)

其中other表示参与重叠合并的另一个dataframe

 

[展开全文]

timedelta就是一个时间间隔单位

可以被时间的加减获得

 

dataindex有weekname

periodindex有weekday(单独的天)

 

[展开全文]

timestamp可以做value acount的统计
 

[展开全文]

reshape(size)

展平ravel

flatten() flatten('F')

hstack/vstack

concatenate 1/0

hsplit/vsplit

split 1/0

[展开全文]

随机数的生成:np.random.xxx

xxx:

random

rand

randn

randint(min,max,size=())

[展开全文]

import pandas as pd
import os

os.chdir(r'C:\Users\Administrator\Desktop\数据预处理')

data=pd.read_csv('data/task-1A.csv',encoding='GBK')

[展开全文]

1.生成随机数

np.random.random(100).  #输出100个无约束条件的随机数组

np.random.rand(10, 5).  #输出10行5列的均匀步长的随机数组

np.random.randn(10,5)        #输出10行5列正态分布的随机数组

np.random.randint(2,10,size=[2,5])  #输出最低值不低于2最大值不高于10的2行5列的随机数组

 

2.random模块常用随机数生成函数

seed permutation shuffle  binomial  normal beta chisquare gamma uniform

[展开全文]

## 使用访问字典方式取出orderInfo中的某一列
order_id = detail['order_id']

字典就是加中括号

属性就是加.
print('订单详情表中的order_id的形状为:','\n',order_id.shape)

 

Spyder的读取数据可以有工作空间

 

对单列的访问

对单列某几行的访问

对多列的访问

对多列的某几行的访问

对所有列的某几行访问 用:或者.head(12)/tail

 

loc/iloc的差别

取行的时候 loc前闭后闭

iloc前闭后开

ix融合loc和iloc

 

更改dataframe数据(取出再修改)

增添数据到dataframe(新增的一列值是相同的则直接赋值一个常量即可)

删除某列或某行

inplace 

 

 

 

 

[展开全文]

pd.DataFrame(Series).drop_duplicates(self,subset=None,keep='first',inplace=False)

inplace接收Boolean,表示是否在原表上进行操作

1.特征重复:去除连续型特征重复可以利用特征间的相似度讲两个相似度为1的特征去除1个。

计算方法:corr

缺点:类别型特征之前无法通过计算相似系数来衡量相似度

DataFrame.equals 方法进行特征去重。

 

set会改变原来的顺序。

[展开全文]

order5=detail[:][1:6]

 

 

loc,iloc访问方式(查看访问中的数据)

loc方法是针对DataFrame索引名称的切片方法。闭区间。

iloc必须是行索引和列索引的位置。前闭后开。

 

ix两者结合。存在重叠时优先识别索引名称。

dishes_name1=detail.loc[:,'dishes_name']

#detail['dishes_name']

 

[展开全文]

直接排序 arr.sort()  axis沿横纵轴排序

间接排序 arr.argsort np.lexsort((a,b,c))

np.random.seed(42)

arr=np.random.randint(1,10,size=10)

arr.sort()

arr

arr=np.random.randint(1,10,size=(3,3))

arr.sort(axis=1) 0

unique

tile(A,reps) 对数组进行重复操作

repeat(a,repeats,axis=None)对数组的每个元素进行重复

0按行进行元素重复

1按列进行元素重复

 

[展开全文]

一. 排序:

1. 数组变动

arr.sort(axis=0)

axis=0 纵轴,每一列单独排序;xis=1横轴

2. 数组不变

arr.argsort()返回排序后的值对应在原数组的位置

np.lexsort((a,b,c))返回值按照最后一个传入数据排序,a,b,c为数组,按c由小到大排序,a和b分别取对应的位置的值与c的值组成().

二. 去重

1. arr.unique()返回不含重复值且排序后的结果

2. np.tile(A,reps) 将数组A重复reps次

3. arr.repeat(reps,axis=None)将arr元素重复reps次,axis=0表示按行进行元素重复,该行下一行就是重复的行。axis=1表示按列进行

三. 常见统计函数

sum(axis=0)  按纵轴求和返回数组

mean

std 标准差

var

min

max

argmin返回最小值的索引

argmax

cumsum所有元素和

cumprod所有元素积

 

[展开全文]

import numpy as np
import matplotlib.pyplot as plt
data = np.load('C:/Users/Administrator/Desktop/数据/国民经济核算季度数据.npz')
name = data['columns']  # 提取其中的columns数组,视为数据的标签
values = data['values']  # 提取其中的values数组,数据的存在位置
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
# 散点图
label1 = ['第一产业',  '第二产业',  '第三产业']  # 刻度标签1
label2 = ['农业',  '工业',  '建筑',  '批发',  '交通',  '餐饮',  '金融',  '房地产',  '其他']  # 刻度标签2
p = plt.figure(figsize=(12,  12))

# 散子图1
ax1 = p.add_subplot(2,  2,  1)
plt.bar(range(3),  values[0,  3:6],  width=0.5)  # 绘制散点图
plt.xlabel('产业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(3),  label1)
plt.title('2000年第一季度国民生产总值产业构成分布直方图')

# 散子图2
ax2 = p.add_subplot(2,  2,  2)
plt.bar(range(3),  values[-1,  3:6],  width=0.5)  # 绘制散点图
plt.xlabel('产业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(3),  label1)
plt.title('2017年第一季度国民生产总值产业构成分布直方图')

# 散子图3
ax3 = p.add_subplot(2,  2,  3)
plt.bar(range(9),  values[0,  6:],  width = 0.5)  # 绘制散点图
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(9),  label2)
plt.title('2000年第一季度国民生产总值行业构成分布直方图')  # 添加图表标题

# 散子图4
ax4 = p.add_subplot(2,  2,  4)
plt.bar(range(9),  values[-1,  6:],  width = 0.5)  # 绘制散点图
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(9),  label2)
plt.title('2017年第一季度国民生产总值行业构成分布直方图')  # 添加图表标题

# 保存并显示图形
plt.savefig('./国民生产总值构成分布直方图.png')

# 饼图
label1 = ['第一产业', '第二产业', '第三产业']  # 标签1
label2 = ['农业', '工业', '建筑', '批发', '交通',
        '餐饮', '金融', '房地产', '其他']  # 标签2
explode1 = [0.01, 0.01, 0.01]
explode2 = [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01]
p2 = plt.figure(figsize=(12, 12))

# 饼子图1
a1 = p2.add_subplot(2, 2, 1)
plt.pie(values[0, 3:6], explode=explode1, labels=label1,
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2000年第一季度国民生产总值产业构成分布饼图')

# 饼子图2
a2 = p2.add_subplot(2, 2, 2)
plt.pie(values[-1, 3:6], explode=explode1, labels=label1,
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2017年第一季度国民生产总值产业构成分布饼图')

# 饼子图3
a3 = p2.add_subplot(2, 2, 3)
plt.pie(values[0, 6:], explode=explode2, labels=label2,
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2000年第一季度国民生产总值行业构成分布饼图')  # 添加图表标题

# 饼子图4
a4 = p2.add_subplot(2, 2, 4)
plt.pie(values[-1, 6:], explode=explode2, labels=label2,
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2017年第一季度国民生产总值行业构成分布饼图')  # 添加图表标题

# 保存并显示图形
plt.savefig('./国民生产总值构成分布饼图.png')

# 箱线图
label1 = ['第一产业', '第二产业', '第三产业']  # 标签1
label2 = ['农业', '工业', '建筑', '批发', '交通',
        '餐饮', '金融', '房地产', '其他']  # 标签2
gdp1 = (list(values[:, 3]), list(values[:, 4]), list(values[:, 5]))
gdp2 = ([list(values[:, i]) for i in range(6, 15)])
p3 = plt.figure(figsize=(8, 8))

# 箱子图1
b1 = p3.add_subplot(2, 1, 1)
# 绘制箱线图
plt.boxplot(gdp1, notch=True, labels=label1,  meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.ylabel('生产总值(亿元)')  # 添加y轴名称

# 箱子图2
b2 = p.add_subplot(2, 1, 2)
# 绘制箱线图
plt.boxplot(gdp2, notch=True, labels = label2,  meanline=True)
plt.title('2000-2017各行业国民生产总值箱线图')
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称

# 保存并显示图形
plt.savefig('./国民生产总值分散情况箱线图.png')
plt.show()

 

[展开全文]
import numpy as np
import matplotlib.pyplot as plt
data = np.load('C:/Users/Administrator/Desktop/数据/国民经济核算季度数据.npz')
name = data['columns']  # 提取其中的columns数组,视为数据的标签
values = data['values']  # 提取其中的values数组,数据的存在位置
plt.rcParams['font.sans-serif'] = 'SimHei'  # 设置中文显示
plt.rcParams['axes.unicode_minus'] = False
# 散点图
label1 = ['第一产业',  '第二产业',  '第三产业']  # 刻度标签1
label2 = ['农业',  '工业',  '建筑',  '批发',  '交通',  '餐饮',  '金融',  '房地产',  '其他']  # 刻度标签2
p1 = plt.figure(figsize=(12,  12))

# 散子图1
ax1 = p1.add_subplot(2,  2,  1)
plt.bar(range(3),  values[0,  3:6],  width=0.5)  # 绘制散点图
plt.xlabel('产业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(3),  label1)
plt.title('2000年第一季度国民生产总值产业构成分布直方图')

# 散子图2
ax2 = p1.add_subplot(2,  2,  2)
plt.bar(range(3),  values[-1,  3:6],  width=0.5)  # 绘制散点图
plt.xlabel('产业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(3),  label1)
plt.title('2017年第一季度国民生产总值产业构成分布直方图')

# 散子图3
ax3 = p1.add_subplot(2,  2,  3)
plt.bar(range(9),  values[0,  6:],  width = 0.5)  # 绘制散点图
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(9),  label2)
plt.title('2000年第一季度国民生产总值行业构成分布直方图')  # 添加图表标题

# 散子图4
ax4 = p1.add_subplot(2,  2,  4)
plt.bar(range(9),  values[-1,  6:],  width = 0.5)  # 绘制散点图
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称
plt.xticks(range(9),  label2)
plt.title('2017年第一季度国民生产总值行业构成分布直方图')  # 添加图表标题

# 保存并显示图形
plt.savefig('./国民生产总值构成分布直方图.png')

# 饼图
label1 = ['第一产业', '第二产业', '第三产业']  # 标签1
label2 = ['农业', '工业', '建筑', '批发', '交通', 
        '餐饮', '金融', '房地产', '其他']  # 标签2
explode1 = [0.01, 0.01, 0.01]
explode2 = [0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01]
p2 = plt.figure(figsize=(12, 12))

# 饼子图1
a1 = p2.add_subplot(2, 2, 1)
plt.pie(values[0, 3:6], explode=explode1, labels=label1, 
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2000年第一季度国民生产总值产业构成分布饼图')

# 饼子图2
a2 = p2.add_subplot(2, 2, 2)
plt.pie(values[-1, 3:6], explode=explode1, labels=label1, 
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2017年第一季度国民生产总值产业构成分布饼图')

# 饼子图3
a3 = p2.add_subplot(2, 2, 3)
plt.pie(values[0, 6:], explode=explode2, labels=label2, 
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2000年第一季度国民生产总值行业构成分布饼图')  # 添加图表标题

# 饼子图4
a4 = p2.add_subplot(2, 2, 4)
plt.pie(values[-1, 6:], explode=explode2, labels=label2, 
        autopct='%1.1f%%')  # 绘制散点图
plt.title('2017年第一季度国民生产总值行业构成分布饼图')  # 添加图表标题

# 保存并显示图形
plt.savefig('./国民生产总值构成分布饼图.png')

# 箱线图
label1 = ['第一产业', '第二产业', '第三产业']  # 标签1
label2 = ['农业', '工业', '建筑', '批发', '交通', 
        '餐饮', '金融', '房地产', '其他']  # 标签2
gdp1 = (list(values[:, 3]), list(values[:, 4]), list(values[:, 5]))
gdp2 = ([list(values[:, i]) for i in range(6, 15)])
p3 = plt.figure(figsize=(8, 8))

# 箱子图1
b1 = p3.add_subplot(2, 1, 1)
  # 绘制箱线图
plt.boxplot(gdp1, notch=True, labels = label1,  meanline=True)
plt.title('2000-2017各产业国民生产总值箱线图')
plt.ylabel('生产总值(亿元)')  # 添加y轴名称

  # 子图2
b2 = p.add_subplot(2, 1, 2)
  # 绘制箱线图
plt.boxplot(gdp2, notch=True, labels = label2,  meanline=True)
plt.title('2000-2017各行业国民生产总值箱线图')
plt.xlabel('行业')  # 添加横轴标签
plt.ylabel('生产总值(亿元)')  # 添加y轴名称

  # 保存并显示图形
plt.savefig('./国民生产总值分散情况箱线图.png')
plt.show()

 

[展开全文]
朱致鹏 · 2019-07-29 · 3.4 小结 0

授课教师

人工智能金牌讲师

课程特色

视频(68)
下载资料(1)

学员动态

还没有动态