【数据分析】图书馆数据-06数据处理过程中的算法
来源:互联网 发布:类似sketch windows 编辑:程序博客网 时间:2024/06/11 21:24
1、加标签算法
给定一个数组:
x = [A,B,H,D,F,E,A,D,C,F,V,C,D,B,B,C,A,F,E,D,F,D,D]
Output:
x = [1,2,3,4,5,6,1,4,7,5,8,7,4,2,2,7,1,5,6,4,5,4,4]
说明:
将数组x中的字母全部用数字表示,相同的字母使用同一个数字表示,不同的字母使用不同的数字表示。
分析:
对于上述数组x而言,数组x的长度是已知的,数组中字母的类别也是已知的,所以在处理的过程中,会更加简单;而在数据分析中的数据集中,数据量是非常庞大的,类别也是未知的,此时就会变得复杂。
算法:
def add_label(s): # 参数s为数组 l = [] # 最终list m = [] # 临时list for i in range(len(s)): if i == 0: # list是从0开始索引的,先考虑第一个位置 m = [] l = [1] else: m.append(s[i - 1]) if s[i] in m: if m.index(s[i]) == 0: l.append(1) else: l.append(l[m.index(s[i])]) # m.index(s[i])通过索引查找这个位置的元素 else: l.append(max(l) + 1) return l
2、多值处理算法
给定一个二维数组:
x = [['A', 36], ['B', 85], ['C', 15], ['B', 65], ['B', 52], ['A', 89]]
Output:
x = [['A', 36, 89], ['B', 85, 65, 52], ['C', 15]]
说明:
第一列不动,将第二列中的元素加到对应的第一列元素后面。
分析:
使用字典进行操作,键值唯一,而值不唯一,也就是多值处理操作。
算法:
# 字典多值处理res = {}for item in l: # l为二维数组 k = item[0] if not res.has_key(k): # 给定的键在字典中,就返回true,否则返回false res[item[0]] = [] res[item[0]].append(item[1])print res
上述两个算法将应用于之后的数据处理操作。
0 0
- 【数据分析】图书馆数据-06数据处理过程中的算法
- 【数据分析】图书馆数据
- 【数据分析】图书馆数据-01建表
- 【数据分析】图书馆数据-07关联规则
- 【数据分析】图书馆数据-08决策树
- 数据分析-数据处理
- 大数据数据处理分析
- 数据分析(5)-数据处理
- 数据分析(5)-数据处理
- 数据处理之数据流程分析
- 03数据挖掘原理-数据分析 数据处理
- Python数据分析-数据处理-数据导入
- 数据挖掘,数据处理与数据分析。
- 【数据分析】图书馆数据-02重命名、索书号、分组
- 【数据分析】图书馆数据-04借阅情况聚类挖掘
- 【数据分析】图书馆数据-05读者类型聚类挖掘
- 简单GPS数据处理(gps数据分析)
- 数据处理流程和数据分析方法
- Android 7.0 源码编译
- hduoj 2824 The Euler function【欧拉函数 打表】
- Android UI手机用户界面案例及UI概述
- [CRT][中国剩余定理]膜法
- Java运算符优先级
- 【数据分析】图书馆数据-06数据处理过程中的算法
- perl mojo 编码
- 运行mysqli_connect apache报服务器500错误
- 1129第几天
- 无缝轮播图
- PAT甲级1008. Elevator (20)
- Linux中的crontab定时任务详解
- Java 变量
- 详细领悟ThreadLocal变量