数据分析
luke9012
这个作者很懒,什么都没留下…
展开
-
数据分析(二十六)
25.数理统计技术25.1 客户的标签分类:基础标签,统计标签,模型标签基础的客户标签:性别,年龄,职业,可以从原始数据中直接获取的统计标签:原始数据中汇总得到的,比如客户的价值标签模型标签:基础标签,统计标签和已经存在的模型经过构建数据挖掘模型得到的,比如说数据的流失概率,违约概率25.2 RFM模型R:最后一次消费的时间(最新消费时间)可以代表用户的流失可能性,消费时间...原创 2019-11-23 20:21:17 · 219 阅读 · 0 评论 -
数据分析(二十五)
24. 数据清洗(二)24.1 数据分布右偏:平均数>中位数>众数(价格,X轴的大小)左偏:众数>中位数>平均数正态分布:三者相等24.2 缺失值处理连续变量分类变量缺失值少于20%均值或者中位数不需要填补,单算一类或者用众数补充缺失值在20%~80%均值或者中位数,(指示哑变量)不需要填补,单算一类或者用众数补充...原创 2019-11-23 20:21:02 · 738 阅读 · 0 评论 -
数据分析(二十四)
23. 绘图23.1 问题解决23.1.1 jupyter notebook在jupyter notebook中如果有问题需要添加%matplotlib inline23.1.2 中文问题plt不支持中文,所以要修改字体#修改字体的大小plt.rcParams['font.size'] = 24x\y轴的标签,可以设置字体的大小plt.xlabel('数据',fontsiz...原创 2019-11-23 20:20:53 · 720 阅读 · 0 评论 -
数据分析(二十三)
22. pandas 中 sql 语句两种:sqlite3sqlalchemy22.1 sqlite3使用案例>>> snd = pd.read_csv("sndHsPr.csv")>>> snd dist roomnum halls AREA floor subway school price0 chaoyang...原创 2019-11-23 20:20:43 · 191 阅读 · 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 · 141 阅读 · 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 · 80 阅读 · 0 评论 -
数据分析(二十)
19. 数据的合并19.1 numpy的合并np.concatenate()>>> arr1 = np.random.randint(10,20,(3,4))>>> arr1array([[10, 13, 18, 13], [11, 15, 19, 15], [11, 14, 11, 14]])>>> ar...原创 2019-11-23 20:19:51 · 74 阅读 · 0 评论 -
数据分析(十九)
18. 数据连接定义:根据单个或者多个键将不同的dataframe对象的行连接起来18.1 merge18.1.1 有相同的键名>>> df1 = pd.DataFrame(... {'key1':list('abcdefgh'),'data1':np.random.randint(-5,10,8)}...)>>> df1 key1 ...原创 2019-11-23 20:19:39 · 78 阅读 · 0 评论 -
数据分析(十八)
17. pandas的统计与汇总17.1 求和>>> df1 A B C D Ea -2 3 -1 1 8b 0 1 -6 8 -5c 0 6 -10 4 -7d -4 7 -2 1 -9>>> df1.sum()A -6B 17C -19D 14E -13dtype: int64 >...原创 2019-11-23 20:17:48 · 98 阅读 · 0 评论 -
数据分析(十七)
16. 数据重构16.1 常见的索引类选哪个MultiIndex16.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 · 83 阅读 · 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 · 81 阅读 · 0 评论 -
数据分析(十五)
14. pandas中的函数应用14.1 求绝对值14.1.1 series>>> ser1 = pd.Series(np.random.randint(-10,10,10))>>> print(ser1)0 -81 -62 -93 04 -95 -26 27 58 09 -5dtyp...原创 2019-11-23 20:17:15 · 93 阅读 · 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 D0 20.0 30.0 40.0 41.01 1.1 2....原创 2019-11-23 20:16:58 · 138 阅读 · 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 · 106 阅读 · 0 评论 -
数据分析(十二)
11. pandas 索引操作11.1 series的索引操作11.1.1 series对象,index索引名不是数组的>>> ser1 = pd.Series(data=range(10,15),index=list('abcde'))>>> ser1a 10b 11c 12d 13e 14dtype: int...原创 2019-11-22 09:05:15 · 111 阅读 · 0 评论 -
数据分析(十一)
10. pandas – Dataframe10.1 创建dataframe对象>>> arr2 = np.random.randint(10,20,(5,5))>>> arr2array([[14, 17, 15, 18, 15], [12, 15, 19, 17, 17], [14, 16, 12, 13, 18], ...原创 2019-11-22 09:04:14 · 133 阅读 · 0 评论 -
数据分析(十)
9. pandas – series9.1 series 对象>>> ser1 = pd.Series(data=arr1,index=range(0,20,2))0 852 514 466 618 3410 9512 9814 7216 8518 16dtype: int32 ...原创 2019-11-22 09:03:41 · 72 阅读 · 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 · 67 阅读 · 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])>>> arr1array(...原创 2019-11-22 09:02:41 · 99 阅读 · 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 · 60 阅读 · 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 · 92 阅读 · 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 · 107 阅读 · 0 评论 -
数据分析(四)
维度转置>>> import numpy as np>>> arr1 = np.random.randint(1,100,(2,3))>>> arr1array([[51, 58, 53], [95, 59, 96]])>>> arr1.transpose()array([[51, 95], ...原创 2019-11-22 08:59:34 · 72 阅读 · 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 · 63 阅读 · 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 · 62 阅读 · 0 评论 -
数据分析(一)
1. numpy:多维数据的创建多维数据组(矩阵ndarray)shape:维度的大小ndim:维度的个数dtype:数据类型1.1 随机抽样创建1.1.1 rand生成指定维度的随机多维度浮点型数组,范围[0,1)>>> arr3 = np.random.rand(3,5)>>> arr3array([[0.63305909, 0.10...原创 2019-11-22 08:53:53 · 65 阅读 · 0 评论