![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据分析
wakawakaohoh
这个作者很懒,什么都没留下…
展开
-
numpy中的广播机制与维数和轴的总结
numpy几乎天天用,可一旦涉及到高维的广播和关于轴的聚合操作时都要琢磨一下,看了不少博客,都是互相抄,帮助不大,特地总结一下。一、 广播机制广播的原则:如果两个数组的后缘维度(trailing dimension,即从末尾开始算起的维度)的轴长度相符,或其中的一方的长度为1,则认为它们是广播兼容的。广播会在缺失和(或)长度为1的维度上进行。这句话分两种情况理解第一种情况:如果两个数组维度不同,则后缘维度的轴长度相同可以广播。例如:(3,4,2)和(4,2)的维度是不相同的,前者为3维,后者为2原创 2020-06-04 13:15:33 · 440 阅读 · 0 评论 -
数据分析(matplotlib)---05.折线图
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axes....原创 2019-07-20 10:32:57 · 145 阅读 · 0 评论 -
数据分析(matplotlib)---04.散点图
# 散点:主要用于分析特征间的相关关系。# 折线图:主要分析是自变量与因变量特征间趋势关系。import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimH...原创 2019-07-20 10:30:10 · 450 阅读 · 0 评论 -
数据分析(matplotlib)---03.rc参数(显示中文)
import matplotlib.pyplot as pltimport numpy as np# rc# rc参数往往用来设置线宽、线样式、点的类型、颜色x = np.arange(0,1.1,0.01)# print(x)y1 = x**2y2 = x**4# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示...原创 2019-07-20 10:25:56 · 477 阅读 · 0 评论 -
数据分析(matplotlib)---02.子视图
#创建子图:# 子视图,本质上是多个基础图形绘制过程的叠加,即分别在同一个画布上不同子图上进行绘制import matplotlib.pyplot as pltimport numpy as nprad = np.arange(0,np.pi*2,0.01)y1=rad**2y2=rad**4#绘制# 确定画布的大小,创建一个8*6的画布,并设置每英寸里的像素点数F = p...原创 2019-07-20 10:06:36 · 199 阅读 · 0 评论 -
数据分析(matplotlib)---01.可视化基础
import matplotlib.pyplot as pltimport numpy as np# 创建画布# F = plt.figure() #创建一个空白画布,可以指定画布的大小、像素# F.add_subplot() #创建并选中子视图,可以指定子视图的行数、列数和选中图片的编号# 案例:绘制直线 y = 2*x+1# x = np.linspace(-1,1,50)#...原创 2019-07-20 10:05:09 · 70 阅读 · 0 评论 -
数据分析(pandas)---09.案例
import pandas as pdimport numpy as nporder = pd.read_table('meal_order_info.csv', sep=',',encoding='gbk')print('原始数据:\n',order.shape)# 由于表中的日期数据为字符串类型,# 所以在进行日期操作之前,# 需要将它们...原创 2019-07-20 10:01:39 · 349 阅读 · 0 评论 -
数据分析(pandas)---08.特殊的透视表(交叉表)
import pandas as pdimport numpy as npdetail = pd.read_excel('meal_order_detail.xlsx')# 创建交叉表(特殊透视表)cross_table = pd.crosstab(index=detail['order_id'], columns=detail['dishes_name'],...原创 2019-07-20 10:00:28 · 211 阅读 · 0 评论 -
数据分析(pandas)---07.透视表
import pandas as pdimport numpy as npdetail = pd.read_excel('meal_order_detail.xlsx')# 透视表# index=具体的列名 或者 index=[列名1,列名2]detail_pivot = pd.pivot_table(detail[['order_id','counts','amounts']],i...原创 2019-07-20 09:59:12 · 177 阅读 · 0 评论 -
数据分析(matplotlib)---06.折线图
# 用折线图各个季度各产业的数据,不同的线型,不同的颜色import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像...原创 2019-07-20 10:38:01 · 148 阅读 · 0 评论 -
数据分析(matplotlib)---07.柱状图
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axes...原创 2019-07-20 10:41:12 · 186 阅读 · 0 评论 -
数据分析(matplotlib)---08.扇形图
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axes...原创 2019-07-20 10:42:23 · 1417 阅读 · 0 评论 -
数据清洗练习
import pandas as pdimport numpy as np##1.检测处理重复值:right = pd.DataFrame({'key1': ['K0', 'K1', 'K1', 'K2'], 'key2': ['K0', 'K0', 'K0', 'K0'], 'C': [1, 1...原创 2019-07-30 17:31:48 · 1096 阅读 · 0 评论 -
连锁超市案例
'''1.哪个类别的商品畅销2.哪些商品比较畅销3.求不同门店的销售额占比4.客流高峰期'''import pandas as pdimport numpy as npimport matplotlib.pyplot as plt# 1.哪个类别的商品畅销 reset_index,sort_valuescontent = pd.read_csv('order-14.3.c...原创 2019-07-30 17:31:03 · 289 阅读 · 0 评论 -
数据分析(matplotlib)---14.雷达图练习
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axe...原创 2019-07-20 10:56:22 · 243 阅读 · 0 评论 -
数据分析(matplotlib)---13.雷达图
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axe...原创 2019-07-20 10:54:58 · 589 阅读 · 0 评论 -
数据分析(matplotlib)---12.折线图练习
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axes...原创 2019-07-20 10:53:39 · 324 阅读 · 0 评论 -
数据分析(matplotlib)---11.散点图练习
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axes...原创 2019-07-20 10:52:32 · 398 阅读 · 0 评论 -
数据分析(matplotlib)---10.扇形图练习
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axes...原创 2019-07-20 10:51:13 · 966 阅读 · 0 评论 -
数据分析(matplotlib)---09.柱状图练习
import matplotlib.pyplot as pltimport numpy as np# 通用设置# 输出设置np.set_printoptions(threshold=np.NaN)# 显示中文plt.rcParams['font.sans-serif'] = 'SimHei'# 设置正常显示符号,解决保存图像是符号'-'显示方块plt.rcParams['axes...原创 2019-07-20 10:44:39 · 345 阅读 · 0 评论 -
数据分析(pandas)---06.分组聚合
import numpy as npimport pandas as pd# 读取数据detail = pd.read_excel('output.xlsx',sheet_name=0)lite_detail=detail[['order_id','counts','amounts']]detail_group = lite_detail.groupby(by='order_id')...原创 2019-07-20 09:57:08 · 273 阅读 · 0 评论 -
数据分析(pandas)---05.描述分析DataFrame数据
import pandas as pddetail = pd.read_excel('output.xlsx',sheet_name=0)# 一共卖出多少菜print(detail['counts'].sum())# 获取所有列名cols = detail.columnsprint(cols)# 同一行语句在不同的版本下面得到的数据类型是不一样的# for col in c...原创 2019-07-20 09:55:34 · 513 阅读 · 0 评论 -
数据分析(numpy)---08.切割数组
import numpy as np# 切割数组# 1.hsplit()和vsplit()arr1 = np.array([[1,1,3,3],[2,2,4,4]])print('arr1:\n',arr1)arr6_subarray = np.hsplit(arr1,2)print(arr6_subarray,type(arr6_subarray))a1 = arr6_subar...原创 2019-07-19 20:17:44 · 170 阅读 · 0 评论 -
数据分析(numpy)---07.组合与切割数组
import numpy as np# shape和reshapea1=np.arange(15).reshape(-1,5)print(a1)# 注意:reshape(m,n),如果说有一个参数为-1 时,那么# reshape函数会根据另一参数的维度计算出数组的另外一个shape属性值a2 = a1.reshape(-1)#将多维数组变换成一维数组print(a2) #a1...原创 2019-07-19 20:16:44 · 99 阅读 · 0 评论 -
数据分析(numpy)----06.变换数组形态
import numpy as np# shape和reshapea1=np.arange(15).reshape(-1,5)print(a1)# 注意:reshape(m,n),如果说有一个参数为-1 时,那么# reshape函数会根据另一参数的维度计算出数组的另外一个shape属性值a2 = a1.reshape(-1)#将多维数组变换成一维数组print(a2) #a1...原创 2019-07-16 22:46:52 · 263 阅读 · 0 评论 -
数据分析(numpy)----05.数组元素的访问
数组元素的访问是通过索引来完成的a1=np.arange(10)print('a1:',a1)print(a1[0])print(a1[2:4])print(a1[-1])#修改a1[0]=100a1[2:4]=200,300print(a1[1::2])#二维数组a2=np.arange(1,13,1).reshape(3,4)print('a2:',a2)prin...原创 2019-07-16 20:44:34 · 243 阅读 · 0 评论 -
数据分析(numpy)----04.数据类型
import numpy as np# 一.基本数据类型# bool:由所在平台决定其精度的整数int32,int64---字长# int:----------------int32,in64# 另外:int8\int16\int32\float32\float64...# 二.数据类型转换# eg: # np.float64(n)# eg:value1=np.bool...原创 2019-07-16 19:23:08 · 220 阅读 · 0 评论 -
数据分析(numpy)----03.随机数
np.random(n)1.random()生成一个数组,元素值域[0,1),其中n表示元素个数import numpy as nparr=np.random.random(10)print(arr)#输出结果:[ 0.35273869 0.8199101 0.19634303 0.18098095 0.53161887 0.02363699# 0.8833971...原创 2019-07-16 19:13:48 · 111 阅读 · 0 评论 -
数据分析(numpy)----02.创建数组
import numpy as np#方法有:#1.array()# def array(p_object, dtype=None, copy=True, order='K', subok=False, ndmin=0)# eg:a1 = np.array([1,2,3,4])a2 = np.array([(1,2),(3,4)])print(a1,a2)a3=np.array(...原创 2019-07-15 21:59:26 · 111 阅读 · 0 评论 -
数据分析(numpy)----01
numpy的主要对象是同种元素的多维数组特点:这是一个所有元素都是一种类型,通过一个正整数元组索引的元素表格,使用C语言import numpy as nparr1 = np.array([1,2,3])#数组的秩#轴的个数称为秩#轴(axes)是数组的维度print(arr1.ndim) # 结果为:1 #结论:一维数组秩为1,二维数组秩为2#数组的维度print(ar...原创 2019-07-15 20:49:12 · 69 阅读 · 0 评论 -
数据分析(numpy)---09.创建矩阵
import numpy as np# 一.创建矩阵#1.mat函数# 方法一:A = np.mat([[1,0,1,0],[-1,2,0,1],[1,0,4,1],[-1,-1,2,0]])print(A)# 方法二:B = np.mat('1 0 0 0;0 1 0 0;-1 2 1 0;1 1 0 1')print(B)# 1.matrix函数# np.matrix(...原创 2019-07-19 20:20:30 · 136 阅读 · 0 评论 -
数据分析(numpy)---10.通用函数
import numpy as npx=np.array([1,3,5])y=np.array([2,3,6])print(x==y) #[False True False]print(np.all(x==y))print(np.any(x==y))print('++++++++++++++++++++++++++++++++++++++++++')x = np.array([...原创 2019-07-19 20:21:49 · 82 阅读 · 0 评论 -
数据分析(numpy)---11.文件读写
import numpy as np# numpy文件读写主要有二进制的文件读写和文件列表形式的数据读写两种形式。# 1.二进制读写# (1)save()函数---写--->硬盘x = np.array([[0,0,0],[1,1,1],[2,2,2],[3,3,3]])y = np.array([1,2,3,4]).reshape((4,1))np.save('x.npy',...原创 2019-07-19 20:23:44 · 158 阅读 · 0 评论 -
数据分析(pandas)---04.astype
import pandas as pd# 2.2.4# (一)detail = pd.read_excel('output.xlsx',sheet_name=0)print(detail.shape)print(detail.ndim)print(detail.size)# (二)detail['dishes_name'] = detail['dishes_name'].ast...原创 2019-07-19 20:48:55 · 244 阅读 · 0 评论 -
数据分析(pandas)---03.案例
import pandas as pd'^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^读取csv文件,将字符串转为日期时间格式^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^6'# 读取csv文件() seq分隔符 read_table或者read_csv 建议read_csvorder = pd.read_csv('C:\pyproject\day03\m...原创 2019-07-19 20:45:01 · 725 阅读 · 0 评论 -
数据分析(pandas)---02.常用属性和数据输出
import pandas as pd# 显示所有行所有列pd.set_option('display.max_columns',None)pd.set_option('display.max_rows',None)#列宽,默认50,显示的长度pd.set_option('max_colwidth',200)detail = pd.read_excel('output.xlsx...原创 2019-07-19 20:43:28 · 352 阅读 · 0 评论 -
数据分析(pandas)---01.文件读取
import pandas as pdorder = pd.read_table('../day03/matplot_data/meal_order_info.csv',sep=',',encoding='gbk')print(order['lock_time'])print('在转换之前lock_time的类型:',type(order['lock_time'])) # <cl...原创 2019-07-19 20:36:13 · 170 阅读 · 0 评论 -
数据分析(numpy)---15.案例
import numpy as np# 读取iris数据集中的花萼长度数据,并且对其进行排序、去重、求和、累积和、均值标准差、方差、最大值、最小值。iris = np.loadtxt('iris_sepal_length.csv')iris.sort()print('花萼长度表为:\n',iris)# 去除重复值print('去重后的花萼长度表为:\n',np.unique(ir...原创 2019-07-19 20:30:32 · 6158 阅读 · 1 评论 -
数据分析(numpy)---14.统计函数
import numpy as nparr = np.arange(20).reshape(4,5)print('arr:\n',arr)''' [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19]]'''result_sum_0 = np.sum(arr,axis=0)#沿着纵轴计算pr...原创 2019-07-19 20:28:08 · 121 阅读 · 0 评论 -
数据分析(numpy)---13.去重和重复
import numpy as np#unique函数#通过unique函数可以找出数组中的唯一值并返回已经排序的结果arr = np.unique([1,2,3,1,2,3])result = np.unique(arr)print(result)#2.tile(A,reps)函数#主要有两个参数,参数'A'指定重复的数组,# 参数'reps'指定重复的次数arr = np...原创 2019-07-19 20:27:02 · 1951 阅读 · 0 评论