自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 SQL——使用having子句

2.where用在初始表筛选查询,having用在结果分组中查询。3.使用having是对每个组进行限制,而不是每一行。1.一般和group by一起使用。

2022-12-12 14:51:00 331 1

原创 SQL——使用group by子句

分组聚合=group by + 聚合函数(count,sum,avg,max,min)案例应用分组过滤练习1练习2

2022-12-07 17:28:16 195

原创 SQL——使用聚合函数

例2(与distinct一起使用)例3(与group by一起使用)AVG函数例1(返回所有列的平均值)例2(返回特定列的平均值)总结sum(),avg():括号中必须是数值count函数count(*):返回表中行的总数用来统计元组的个数,不需要任何参数。且不能与distinct一起使用,包括含有空值的行。count(列名):返回列中非空的行数按照该列数值统计个数count(distinct 列名):返回列中非空且不重复的行数总结

2022-12-07 14:53:06 228

原创 SQL——连接查询

例2内连接和左连接的区别:左连接会把做表表的内容都删选出来,内连接只会筛选出交集。

2022-12-07 13:59:32 192

原创 SQL——基础查询

查看所有列使用计算列求和求个数求价格提升求库存数量使用distinct作用于单列作用于多列使用where字句关系运算符逻辑关系符范围运算符列表运算符模糊匹配运算符【not】like + ‘%’:表示0或多个字符【not】like + ‘_’:表示单个字符,一般用来限制字符长度【not】like + [ ]:表示范围内的单个字符【not】like + [^ ]:表示不在范围内的单个字符空值运算符:is null

2022-12-05 17:35:14 446

原创 分析方法

分析方法1.金字塔原理:论证类比论:结论先行—总分总证:自上而下表达,自下而上思考类:归类分组—相互独立,完全穷尽比:逻辑递进—明确规则,按序排列2.描述分析:集中趋势/离散程度/分布形态集中趋势:平均数,中位数,众数离散程度:方差与标准差,极差,变异系数,四分位差分布形态:偏度与峰度环比:环比增长率 = (本期数-上期数)/上期数同比:同比增长率 = (本期数-上同期数)/上同期数3.对比分析:时间标准:时间趋势对比/动作前后对比/去年同期对比/前一时期对比空间标准:A/B测试

2021-03-04 12:17:23 274 1

原创 酒店预定需求分析

了解样本基本信息import pandas as pdpath = 'C:/Users/Administrator/Desktop/酒店需求案例分析/hotel_bookings.csv'data = pd.read_csv(path)pd.set_option('display.max_columns', 100)pd.set_option('display.width', 500)print(data.describe()) is_canceled lead_t

2021-02-22 16:50:30 1087

原创 入门matplotlib—坐标轴

轴的颜色及隐藏轴边框import pandas as pdimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif'] = ['SimHei'] # 用黑体显示中文x,y = plt.subplots(1,1)y.spines['left'].set_color('r')y.spines['bottom'].set_color('b')y.spines['top'].set_col

2021-02-05 21:30:33 423

原创 入门matplotlib—直方图

import pandas as pdimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文path = 'C:/Users/Administrator/Desktop/playground2/17.直方图.xlsx'data = pd.read_excel(path)plt.hist(data.身高,bins=30,color='r'.

2021-02-05 18:53:51 97

原创 入门matplotlib—坐标轴上的日期格式和散点图以及网格线

坐标轴上的日期格式import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport matplotlib.ticker as mtick #导入百分比# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文path = 'C:/Users/Administrator/Desktop/playground2/12

2021-02-05 18:06:56 972

原创 入门matplotlib—柱形图与折线图组合

import pandas as pdimport numpy as npimport matplotlib.pyplot as plt import matplotlib.ticker as mtick #导入百分比# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文path = 'C:/Users/Administrator/Desktop/playground2/09.折线与柱状组合.

2021-02-05 17:27:56 4757 1

原创 入门入matplotlib—画布与子图以及创建多个子图

画布与子图import pandas as pdimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文path = 'C:/Users/Administrator/Desktop/playground2/09.折线与柱状组合图.xlsx'data = pd.read_excel(path)w = plt.figure() #画布

2021-02-05 14:03:44 723

原创 入门 matplotlib—折线图和平均线

折线图import pandas as pdimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文path = 'C:/Users/Administrator/Desktop/playground2/08.折线图.xlsx'data = pd.read_excel(path)plt.plot(data.时间,data.蔬菜,color=

2021-02-05 12:11:11 1875

原创 入门 matplotlib—饼图

import pandas as pdimport numpy as npimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文# 解决坐标轴负号问题plt.rcParams['axes.unicode_minus'] = Falsepath = 'C:/Users/Administrator/Desktop/playground2/0

2021-02-04 18:28:13 118

原创 入门matplotlib—叠加柱状图与叠加条形图

叠加柱状图import pandas as pdimport numpy as npimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文# 解决坐标轴负号问题plt.rcParams['axes.unicode_minus'] = Falsepath = 'C:/Users/Administrator/Desktop/playgro

2021-02-04 17:19:52 5823 1

原创 入门matplotlib—分组柱状图

分组柱状图import pandas as pdimport numpy as npimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文# 解决坐标轴负号问题plt.rcParams['axes.unicode_minus'] = Falsepath = 'C:/Users/Administrator/Desktop/playgro

2021-02-04 12:47:29 3710

原创 入门matplotlib—柱状图与水平条形图

柱状图import pandas as pdimport matplotlib.pyplot as plt# 遇到数据中有中文的时候,一定要先设置中文字体plt.rcParams['font.sans-serif']=['SimHei'] # 用黑体显示中文# 解决坐标轴负号问题plt.rcParams['axes.unicode_minus'] = Falsepath = 'C:/Users/Administrator/Desktop/playground2/01.柱状图.xlsx'dat

2021-02-04 11:21:51 1548 2

原创 入门pandas—行列转换,环比与同比

pandas中的行列转换import pandas as pdpath = 'C:/Users/Administrator/Desktop/playground2/转换.xlsx'data = pd.read_excel(path)data2 = pd.DataFrame(data.values.T,index=data.columns,columns=data.index)print(data2) 0 1 2 3 4 5 6姓名 丁智敏 李平平

2021-02-03 22:13:16 647 1

原创 入门pandas—数据处理三板斧(map、apply、applymap)

在数据处理中,经常会对一个DataFrame进行逐行、逐列和逐元素的操作,对应这些操作,PD中的map\apply\applymap可以解决绝大部分这样的数据处理需求map不管是利用字典还是函数进行映射,都是把对应的数据逐个当作参数传入到字典或函数中,得到映射后的值原数据 姓名 性别 语文 数学 英语 身高 体重0 孙兴华 男 90 100 0 178 721 丁智敏 女 62 82 37 160 832 李平平 女 68 53

2021-02-03 18:15:20 595 1

原创 入门pandas—使用pandas实现excel的vlookup功能

原数据花名册 学号 姓名 班级0 1 张三 1班1 2 李四 1班2 3 王五 2班3 4 赵六 2班4 5 邓七 3班成绩单 学号 语文 数学 英语 总分0 1 67 77 63 2071 2 81 58 65 2042 3 89 60 58 2073 4 67 61 52 1804 5 78 55 51 184import pandas as pd

2021-02-03 15:53:21 2359

原创 入门pandas—数据透视与交叉表

数据透视原数据 日期 部门 销售人员 所属区域 数量 金额 成本0 2019-01-01 销售 李平平 湖北 16 7 81 2019-01-02 销售 李平平 湖北 40 8 32 2019-01-03 销售 李平平 湖北 20 6 73 2019-01-04 销售 李平平 湖北 20 7 54 2019-01-05 销售 李平平

2021-02-03 14:38:11 141

原创 入门pandas—分组与聚合

groupby基础部分原数据 城市 区 人数 金额0 北京市 西城区 37 741 天津 和平区 48 962 北京市 东城区 40 803 天津 南开区 34 684 北京市 西城区 49 985 天津 南开区 44 886 天津 和平区 49 987 北京市 东城区 48 968 北京市 西城区 26 529 天津 南开区 30 60分组聚合import pandas a

2021-02-03 00:40:48 217

原创 入门pandas—字符串操作

例如:36℃把36分割出来,并转成整形data['温度'].str.replace('℃','').astype('int64')原表 日期 工号 姓名 年龄 战斗力 温度 状态 里程 特常 地区0 2020-05-01 21 丁智敏 37 200 36℃ 满血激活 近距离 指鹿为马 丑国1 2020-05-02 22 李平平 26 250 37℃ 零血销毁 远距离 隔空取物 米国2 2020-0

2021-02-02 21:33:02 498

原创 入门pandas—离散化和分箱

指定分界点分箱 【cut】import pandas as pdyear = [1992, 1983, 1922, 1932, 1973] # 待分箱数据bin = [1900,1950,2000] # 指定箱子的分界点i = pd.cut(year,bin)print(i)[(1950, 2000], (1950, 2000], (1900, 1950], (1900, 1950], (1950, 2000]]对不同箱子中的数进行计数print(pd.value_counts(i))

2021-02-02 12:06:43 148

原创 入门pandas—数据替换

替换全部或者某一行原数据 国家 省市 城市 城市2 数值0 中国 北京 城八区 城八区 1001 中国 北京 城八区 城八区 A2 中国 NaN 城八区 城八区 B3 中国 北京 城八区 城八区 A4 中国 北京 城八区 城八区 B5 中国 北京 城八区 城八区 C6 中国 北京 城八区 城八区 D7 中国 北京 城八区 城八区 E8 中国

2021-02-02 11:43:52 368

原创 入门pandas—算术运算与多层索引

算术运算对除数为0的处理:1/0 = inf 无穷大-1/0 = -inf 负无穷大0/0 = Nan处理空值方法一:将空值填充为0import pandas as pdpath = 'C:/Users/Administrator/Desktop/playground2/计算.xlsx'data = pd.read_excel(path)i = data['1店'].fillna(0)+data['2店'].fillna(0) #NAN的用空值填print(i)0 8.0

2021-02-01 23:33:41 268

原创 入门pandas—处理缺失值与重复数据的处理

处理缺失值填充常数import pandas as pdpath = 'C:/Users/Administrator/Desktop/playground2/删除.xlsx'data = pd.read_excel(path,index_col='序号')print(data.fillna(0)) # 用常数填充print(data.fillna({'语文':0.1,'数学':0.2,'英语':0.3})) # 通过字典填充不同的常数填充方式原数据 姓名 语文

2021-02-01 21:18:47 137

原创 入门pandas—数据删除

删除行删除单行import pandas as pdpath = 'C:/Users/Administrator/Desktop/playground2/删除.xlsx'data = pd.read_excel(path)print(data.drop(2))删除多行print(data.drop(labels=[3,4]))删除列(axis=1)删除单列import pandas as pdpath = 'C:/Users/Administrator/Desktop/playgr

2021-02-01 12:29:01 307

原创 入门pandas—筛选

加载数据标明一下sheet_nameimport pandas as pdpath = 'C:/Users/Administrator/Desktop/playground2/筛选.xlsx'data = pd.read_excel(path,index_col='序号',sheet_name='Sheet1')print(data) 姓名 性别 出生日期 语文 数学 英语 总分 地址序号

2021-01-29 22:55:51 412

原创 入门pandas—排序与查询(loc)

排序参数DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind=‘quicksort’, na_position=‘last’)参数说明axis:如果axis=0,那么by=“列名”;如果axis=1,那么by=“行号”;ascending:True则升序,可以是[True,False],即第一字段升序,第二个降序inplace=True:不创建新的对象,直接对原始对象进行修改;inplace=False:对数

2021-01-29 21:10:36 658

原创 入门pandas—计算列

全部列import pandas as pdpath = 'C:/Users/Administrator/Desktop/playground2/计算列.xlsx'data = pd.read_excel(path)data['销售金额']=data['单价']*data['销售数量']print(data) 序号 商品名称 单价 销售数量 销售金额0 1 香蕉 5 20 1001 2 苹果 6 15 902 3 梨

2021-01-29 16:24:20 2007

原创 入门pandas—数据填充

汇总pd.read_excel参数:skiprows=行数 #跳过几行usecols=“区域” # 和Excel中一样,就是一个列的区域index_col=“字段名” # 将谁设置为索引dtype={‘序号’:str,‘性别’:str,‘日期’:str} # 防止出错,把类型全指定为字符型数据.at的用法作用:获取某个位置的值,例如,获取第0行,第a列的值,即:index=0,columns=‘a’ (可以将列省略)变量名 = 数据.at[0, ‘a’]变量名 = 数据.at[i]

2021-01-29 13:54:38 2360

原创 入门pandas—连接查询

merge内连接import numpy as npimport pandas as pd数据1= pd.DataFrame({'姓名':['叶问','李小龙','孙兴华','李小龙','叶问','叶问'],'出手次数1':np.arange(6)})数据2 = pd.DataFrame({'姓名':['黄飞鸿','孙兴华','李小龙'],'出手次数2':[1,2,3]})数据3 = pd.merge(数据1,数据2) #默认为内连接 即数据3 = pd.merge(数据1,数据2,on

2021-01-28 22:17:28 408

原创 numpy基础—数学和统计方法

一维数组沿轴向进行计算,一维数组只有一个0轴import numpy as npa = np.array([1,2,3,4,3,5,3,6])print(f'数组:{a}')print(np.sum(a))print(np.prod(a))print(np.cumsum(a)) # 从0开始元素的累积和print(np.cumprod(a)) # 从1开始元素的累积积print(np.max(a))print(np.min(a))print(np.argmax(a)) # 最大值所在.

2021-01-26 22:00:23 309

原创 numpy基础—numpy的轴

0轴是行,1轴是列,2轴是纵深数组的shape维度是(4,3,2),元组的索引为 [ 0,1,2 ]假设维度是(2,3),元组的索引为[0,1]假设维度是(4,) 元组的索引为[0]总结:凡是提到轴,先看数组的维度,有几维就有几个轴沿轴切片import numpy as npa = np.array([ [1,2,3] , [4,5,6] , [7,8,9] ])print(a[:2]) #表示切取0轴上的索引[0]和索引[1][[1 2 3] [4 5 6]]import..

2021-01-26 21:04:05 955

原创 numpy基础—布尔索引与神奇索引

布尔索引一维数组import numpy as npa = np.arange(10)print(a)b = a>5 #筛选条件print(b) #返回true和falseprint(a[b])[0 1 2 3 4 5 6 7 8 9][False False False False False False True True True True][6 7 8 9]实例1:假设这10个数字,我想让大于5的数字变成10,小于等于5的数字变成1import num

2021-01-26 18:03:30 331

原创 numpy基础— 基础索引与切片

一维数组import numpy as npa = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])print(a[3],a[5],a[-1])print(a[2:4])3 5 9[2 3]二维数组import numpy as npa = np.arange(20).reshape(5,4)print(a)print(a[2,1]) #取第二行第一列print(a[1:2,1:3]) #取第一行 1,2列[[ 0 1 2 3]

2021-01-26 17:09:35 125

原创 numpy基础—多维数组与数组计算

多维数组import numpy as npa = np.array([1,2,3,4,5,6])b = np.array( [[1,2,3], [4,5,6]] )print(a)print(b)a是一维数组,b是二维数组print(a.shape) # 返回一个元组,查看矩阵或者数组的维数(有几个数就是几维),就是几乘几的数组Numpy 不仅可以处理上述的一维数组和二维矩阵(二维数组我们习惯叫它为矩阵),还可以处理任意 N 维的数组,方法也大同小异。reshape不改值修改形状

2021-01-25 22:15:33 1039

原创 numpy基础— 创建数组

创建数组的方法import numpy as npa = np.array(range(10))b = np.array([1,2,3,5])c = np.arange(1,6)print(a)print(b)print(c)print(a.dtype) #求数据类型[0 1 2 3 4 5 6 7 8 9][1 2 3 5][1 2 3 4 5]int32以上三种方法结果是一样的,注意一下输入结果是数组。array的属性:• shape:返回一个元组,表示 arra

2021-01-25 21:42:05 282

原创 numpy基础—介绍

数组和矩阵的区别matrix是array的分支,matrix和array在很多时候都是通用的,用哪一个都一样;• 如果两个可以通用,那就选择array,因为array更灵活,速度更快,很多人把二维的array也翻译成矩阵。• 相同点:索引方式相同,都可以使用a[i][j],a[i,j]进行索引• matrix(矩阵):具有相对简单的运算符号,比如两个matrix相乘(求内积),就是用符号*• array(数组):两个一维数组相乘用*,对应元素相乘体验Numpy 多维数组对象题目: 数组a与数组

2021-01-25 20:51:15 229

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除