网站建设对电子商务中的作用,做网站赚钱还是做应用赚钱,c 能用来做网站,西安网站建设品牌公司推荐目录
1 虽然这是个很基础的知识#xff0c;但是我觉得有必要记录下
2 整洁数据表
3 交叉数据表的2种形式
3.0 交叉表的名字
3.1 2维的交叉表
3.2 用2维表现3维的
3.3 上述内容#xff0c;具体的markdown文本
4 交叉数据表
4.1 交叉数据表并不整洁
4.2 但是交叉表也…目录
1 虽然这是个很基础的知识但是我觉得有必要记录下
2 整洁数据表
3 交叉数据表的2种形式
3.0 交叉表的名字
3.1 2维的交叉表
3.2 用2维表现3维的
3.3 上述内容具体的markdown文本
4 交叉数据表
4.1 交叉数据表并不整洁
4.2 但是交叉表也很有用比如求 联合概率边缘概率
4.3 总结
5 整洁数据表可以直接pd.pivot_table()转化为交叉表
5.1 pd.pivot_table() 数据透视表公式
5.2 表虽然可以直接转但是内容也需要合适 1 虽然这是个很基础的知识但是我觉得有必要记录下
有些数据表很有问题后导致后续的分析出问题所以先检查和整理数据表是很有必要的一个步骤。
#混乱数据
数据混乱有些甚至把一个单元格填多个数据有些虽然看着很清晰但数据结构混乱
#整洁数据
可读性比较强 2 整洁数据表
整洁数据表
这几个要求看起来很简单但是有时候也容易忽视。
1.每1列代表1个属性2.每1行代表1个样本样本里包含多个数据3.每一个单元格代表1个具体数据4.每个类型的观察单元构成1个表格不同类型的观察单元多个表格 3 交叉数据表的2种形式
3.0 交叉表的名字
交叉表交叉分类表也叫列联表 3.1 2维的交叉表
常见的交叉表列属性1 如颜色行属性2 如 城市单元格具体数据 3.2 用2维表现3维的
实际上还是2维的因为我们很难真的表现1个3维表格虽然理论上可以通过 XYZ这样的三维图表示其实用2维表现3维的就是列的属性实际是2个维度
列的维度1上午下午列的更高维度颜色 3.3 上述内容具体的markdown文本 #混乱数据
数据混乱
有些甚至把一个单元格填多个数据
有些虽然看着很清晰但数据结构混乱#整洁数据
可读性比较强##第1类表格整洁数据表1.每1列代表1个属性
2.每1行代表1个样本样本里包含多个数据
3.每一个单元格代表1个具体数据
4.每个类型的观察单元构成1个表格不同类型的观察单元多个表格序号|城市|颜色|销售量
----|----|----|----
1|北京|红色|98
2|北京|蓝色|90
3|上海|红色|86
4|上海|蓝色|95##第2类表格数据交叉表二维城市\颜|红色|蓝色
----|----|----
北京|98|90
上海|86|95三维
交叉表|红色| 红色|蓝色| 蓝色
|上午|下午|上午|下午
----|----|----|----|----
北京|48|50|40|50
上海|46|40|45|404 交叉数据表
4.1 交叉数据表并不整洁
从整洁数据的定义上说交叉数据表“并不整洁”原因交叉数据表往往是列表示一个属性行也表示了一个属性行并不只是一个行样本多个数据的数组 4.2 但是交叉表也很有用比如求 联合概率边缘概率
独立概率联合概率独立概率1*独立概率2边缘概率同1行 /同1列的所有联合概率相加的总和。 边缘概率分2种行边缘概率列边缘概率 为什么要全部相加因为同1行/列 代表了所有的可能性必须全加起来才边缘概率所有行的Σ边缘概率和1 总概率所有列的Σ边缘概率和1 总概率
概率空间的总概率1 4.3 总结
我的想法整洁数据表更底层适合作为原始数据输入后进行各种分析各种上层的表现表形式
交叉数据表本身就是在整洁数据表的一种加工是一种输出形式其他数据表表现形式 5 整洁数据表可以直接pd.pivot_table()转化为交叉表
5.1 pd.pivot_table() 数据透视表公式 pd.pivot_table(datapd.Dataframe, values单元格列名,aggfuncsum新生成的求和列,index横向的列名, columns纵向的列名)pd.pivot_table(data, valuesNone, indexNone, columnsNone, aggfuncmean, fill_valueNone, marginsFalse, dropnaTrue, margins_nameAll) 参数说明
数据源data需要进行数据透视的DataFrame。pd.Dataframe数据源重组values用于聚合的列名默认聚合所有数值列。原表--单元格列名,index数据透视表的index从原数据的列中筛选。原表--横向的列名,columns数据透视表的columns从原数据的列中筛选。原表--纵向的列名重组关键函数aggfunc用于聚合的函数默认为’mean’支持numpy的聚合函数。也可以是sum其他效果fill_value用于替换结果中的缺失值。margins添加行/列小计和总计默认为False。dropna是否删除所有条目均为NA的列默认为True。margins_name总计列的名称默认为’All’。 sample_dataframe11pd.DataFrame({city:sample_array11, color:sample_array22, sales:sample_array33, }) #可以把np.Dataframe 直接转化为 交叉表/列联表 crosstable11pd.pivot_table(datasample_dataframe11, valuessales, aggfuncsum, indexcity, columnscolor) 5.2 表虽然可以直接转但是内容也需要合适
把 “整洁数据表”转化为交叉表虽然可以直接用pd.pivot_table()但是表本身的内容也需要符合适合转化为交叉表例子1数据表本身不适合转化为交叉表可以转转完后格式比较奇怪没啥意义例子2数据表本身很适合转化为交叉表可以转转完后很好
import numpy as np
import pandas as pd
import scipy as sp
%precision 3print(#把 “整洁数据表”转化为交叉表虽然可以直接用pd.pivot_table()但是表本身的内容也需要符合适合转化为交叉表)
print(#例子1数据表本身不适合转化为交叉表可以转转完后格式比较奇怪没啥意义)sample_array1np.array([1,2,3])
sample_array2np.array([10,20,30])
sample_array3np.array([100,200,300])# 注意pd.DataFrame 首字母一定大写
sample_dataframe1pd.DataFrame({city:sample_array1,color:sample_array2,sales:sample_array3,})
print(sample_dataframe1)
print()#可以把np.Dataframe 直接转化为 交叉表/列联表
crosstable1pd.pivot_table(datasample_dataframe1,valuessales,aggfuncsum,indexcity,columnscolor)
print(crosstable1)
print()print(#例子2数据表本身很适合转化为交叉表可以转转完后很好)
sample_array11np.array([beijing,beijing,shanghai,shanghai])
sample_array22np.array([blue,red,blue,red])
sample_array33np.array([100,150,200,120])# 注意pd.DataFrame 首字母一定大写
sample_dataframe11pd.DataFrame({city:sample_array11,color:sample_array22,sales:sample_array33,})
print(sample_dataframe11)
print()#可以把np.Dataframe 直接转化为 交叉表/列联表
crosstable11pd.pivot_table(datasample_dataframe11,valuessales,aggfuncsum,indexcity,columnscolor)
print(crosstable11)
print()