
数据分析
luke9012
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据分析(二十六)
25.数理统计技术 25.1 客户的标签 分类:基础标签,统计标签,模型标签 基础的客户标签:性别,年龄,职业,可以从原始数据中直接获取的 统计标签:原始数据中汇总得到的,比如客户的价值标签 模型标签:基础标签,统计标签和已经存在的模型经过构建数据挖掘模型得到的,比如说数据的流失概率,违约概率 25.2 RFM模型 R:最后一次消费的时间(最新消费时间) 可以代表用户的流失可能性,消费时间...原创 2019-11-23 20:21:17 · 270 阅读 · 0 评论 -
数据分析(二十五)
24. 数据清洗(二) 24.1 数据分布 右偏:平均数>中位数>众数(价格,X轴的大小) 左偏:众数>中位数>平均数 正态分布:三者相等 24.2 缺失值处理 连续变量 分类变量 缺失值少于20% 均值或者中位数 不需要填补,单算一类或者用众数补充 缺失值在20%~80% 均值或者中位数,(指示哑变量) 不需要填补,单算一类或者用众数补充 ...原创 2019-11-23 20:21:02 · 931 阅读 · 0 评论 -
数据分析(二十四)
23. 绘图 23.1 问题解决 23.1.1 jupyter notebook 在jupyter notebook中如果有问题需要添加 %matplotlib inline 23.1.2 中文问题 plt不支持中文,所以要修改字体 #修改字体的大小 plt.rcParams['font.size'] = 24 x\y轴的标签,可以设置字体的大小 plt.xlabel('数据',fontsiz...原创 2019-11-23 20:20:53 · 831 阅读 · 0 评论 -
数据分析(二十三)
22. pandas 中 sql 语句 两种: sqlite3 sqlalchemy 22.1 sqlite3使用案例 >>> snd = pd.read_csv("sndHsPr.csv") >>> snd dist roomnum halls AREA floor subway school price 0 chaoyang...原创 2019-11-23 20:20:43 · 241 阅读 · 0 评论 -
数据分析(二十二)
21.分组 聚合 后的 数据处理 21.1 先分组,再计算,添加前缀,merge关联 >>> dict_new = { ... 'data1':np.random.randint(5,15,8), ... 'data2':np.random.randint(5,15,8), ... 'key1':list('aabbccdd'), ... 'key2':[...原创 2019-11-23 20:20:26 · 231 阅读 · 1 评论 -
数据分析(二十一)
20. 分组 20.1 groupby >>> df1 = pd.DataFrame( ... {'key1':list('abcdefgh'),'data1':np.random.randint(-5,10,8),'key2':list('11223344'), ... 'data2':np.random.randint(-5,10,8)} ... ) >>&...原创 2019-11-23 20:20:09 · 112 阅读 · 0 评论 -
数据分析(二十)
19. 数据的合并 19.1 numpy的合并np.concatenate() >>> arr1 = np.random.randint(10,20,(3,4)) >>> arr1 array([[10, 13, 18, 13], [11, 15, 19, 15], [11, 14, 11, 14]]) >>> ar...原创 2019-11-23 20:19:51 · 108 阅读 · 0 评论 -
数据分析(十九)
18. 数据连接 定义:根据单个或者多个键将不同的dataframe对象的行连接起来 18.1 merge 18.1.1 有相同的键名 >>> df1 = pd.DataFrame( ... {'key1':list('abcdefgh'),'data1':np.random.randint(-5,10,8)} ...) >>> df1 key1 ...原创 2019-11-23 20:19:39 · 117 阅读 · 0 评论 -
数据分析(十八)
17. pandas的统计与汇总 17.1 求和 >>> df1 A B C D E a -2 3 -1 1 8 b 0 1 -6 8 -5 c 0 6 -10 4 -7 d -4 7 -2 1 -9 >>> df1.sum() A -6 B 17 C -19 D 14 E -13 dtype: int64 >...原创 2019-11-23 20:17:48 · 134 阅读 · 0 评论 -
数据分析(十七)
16. 数据重构 16.1 常见的索引类选哪个 MultiIndex 16.2 层级索引 >>> ser1 = pd.Series(np.random.randint(-5,10,12),index=[list('aaabbbcccddd'), [10,20,30,10,20,30,10,20,30,1...原创 2019-11-23 20:17:35 · 109 阅读 · 0 评论 -
数据分析(十六)
15. 排序 15.1 按照索引排序 >>> ser1 = pd.Series(np.random.randint(-10,10,10),index=np.random.randint(-5,10,10)) >>> ser1 5 -2 4 1 2 3 3 -2 5 2 -3 -4 -2 0 5 0 2 ...原创 2019-11-23 20:17:26 · 122 阅读 · 0 评论 -
数据分析(十五)
14. pandas中的函数应用 14.1 求绝对值 14.1.1 series >>> ser1 = pd.Series(np.random.randint(-10,10,10)) >>> print(ser1) 0 -8 1 -6 2 -9 3 0 4 -9 5 -2 6 2 7 5 8 0 9 -5 dtyp...原创 2019-11-23 20:17:15 · 129 阅读 · 0 评论 -
数据分析(十四)
13. 数据清洗(一) 13.1 判断是否存在空值 >>> df1 = pd.DataFrame([np.random.randint(10,50,4),[1.1,2.2,3.3,]],columns=list('ABCD')) >>> df1 A B C D 0 20.0 30.0 40.0 41.0 1 1.1 2....原创 2019-11-23 20:16:58 · 175 阅读 · 0 评论 -
数据分析(十三)
12. pandas 的对齐操作 四种主要的运算:加add(),减sub(),乘mul(),除div() 12.1 series的对齐操作 12.1.1 加法 >>> import numpy as np >>> import pandas as pd >>> ser1 = pd.Series(data=range(10,15),index=l...原创 2019-11-23 20:16:46 · 154 阅读 · 0 评论 -
数据分析(十二)
11. pandas 索引操作 11.1 series的索引操作 11.1.1 series对象,index索引名不是数组的 >>> ser1 = pd.Series(data=range(10,15),index=list('abcde')) >>> ser1 a 10 b 11 c 12 d 13 e 14 dtype: int...原创 2019-11-22 09:05:15 · 141 阅读 · 0 评论 -
数据分析(十一)
10. pandas – Dataframe 10.1 创建dataframe对象 >>> arr2 = np.random.randint(10,20,(5,5)) >>> arr2 array([[14, 17, 15, 18, 15], [12, 15, 19, 17, 17], [14, 16, 12, 13, 18], ...原创 2019-11-22 09:04:14 · 220 阅读 · 0 评论 -
数据分析(十)
9. pandas – series 9.1 series 对象 >>> ser1 = pd.Series(data=arr1,index=range(0,20,2)) 0 85 2 51 4 46 6 61 8 34 10 95 12 98 14 72 16 85 18 16 dtype: int32 ...原创 2019-11-22 09:03:41 · 96 阅读 · 0 评论 -
数据分析(九)
8. 文件读写 8.1 保存npy,npz格式,数组保存二进制文件 >>> arr1 = np.arange(10) array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) # 保存数组的二进制文件 >>> np.save('a1',arr1) # 读取 >>> np.load('a1.npy') array([0, 1,...原创 2019-11-22 09:03:08 · 104 阅读 · 0 评论 -
数据分析(八)
7. 数组排序 >>> arr1 = np.array([1,62,33,6,2,23,52]) array([ 1, 62, 33, 6, 2, 23, 52]) # 第一种,返回新数组,原数组不变 >>> np.sort(arr1) array([ 1, 2, 6, 23, 33, 52, 62]) >>> arr1 array(...原创 2019-11-22 09:02:41 · 138 阅读 · 0 评论 -
数据分析(七)
6. 数组的集合函数 >>> s1 = {10,20,30,40} >>> s2 = {10,100,20,200} # 交集 >>> s1&s2 {10, 20} # 并集 >>> s1|s2 {100, 40, 200, 10, 20, 30} # 去重 >>> arr1 = np.array(...原创 2019-11-22 09:02:06 · 90 阅读 · 0 评论 -
数据分析(六)
5. 数组的增加,插入,删除,合并 5.1 append() # 一维增加常量 >>> arr1 = np.arange(10,20) [10 11 12 13 14 15 16 17 18 19] >>> np.append(arr1,100) [ 10 11 12 13 14 15 16 17 18 19 100] # 一维增加一维 &g...原创 2019-11-22 09:01:13 · 113 阅读 · 0 评论 -
数据分析(五)
4. 通用函数(ufunc) 4.1 一元计算函数 >>> arr1 = np.random.uniform(-5,10,(3,4)) >>> arr1 [[-0.69587753 1.14875406 8.53686918 9.4968895 ] [ 3.68639285 6.79418179 -0.44578217 -3.71251504] [ ...原创 2019-11-22 09:00:23 · 146 阅读 · 0 评论 -
数据分析(四)
维度转置 >>> import numpy as np >>> arr1 = np.random.randint(1,100,(2,3)) >>> arr1 array([[51, 58, 53], [95, 59, 96]]) >>> arr1.transpose() array([[51, 95], ...原创 2019-11-22 08:59:34 · 111 阅读 · 0 评论 -
数据分析(三)
3. 索引与切片 3.1 一维数组 >>> import numpy as np >>> arr1 = np.arange(9) array([0, 1, 2, 3, 4, 5, 6, 7, 8]) # 取值一个数据 >>> print(arr1[0]) 0 # 取多个值 >>> print(arr1[1:-1]) [1 2...原创 2019-11-22 08:59:01 · 99 阅读 · 0 评论 -
数据分析(二)
2. numpy的矩阵计算 2.1 一维数组与一维数组 >>> arr1 = np.array([1,2,3,4,5]) [1 2 3 4 5] >>> arr2 = np.array([10,20,30,40,50]) [10 20 30 40 50] # 一维数组之间相加 >>> print(arr1+arr2) [11 22 33 44...原创 2019-11-22 08:58:01 · 95 阅读 · 0 评论 -
数据分析(一)
1. numpy:多维数据的创建 多维数据组(矩阵ndarray) shape:维度的大小 ndim:维度的个数 dtype:数据类型 1.1 随机抽样创建 1.1.1 rand 生成指定维度的随机多维度浮点型数组,范围[0,1) >>> arr3 = np.random.rand(3,5) >>> arr3 array([[0.63305909, 0.10...原创 2019-11-22 08:53:53 · 94 阅读 · 0 评论