数据处理
提取出来的数据多种多样,可能会有 URL、网页文本信息、多媒体信息。
有一部分信息会被直接存为本地常用的文档(xlsx、html、csv 等),譬如抓取好的网页文本信息。也有的信息会直接被保存到数据库,后期有需要时再调用,譬如多媒体文件。这些信息有的会存入消息队列和其他系统对接做成一个更大的系统,譬如 URL。
numpy:支持高性能的大规模数组运算,是大部分科学计算的基础库。可用于进一步的数据处理。
pandas:支持十多种常见文档格式的输入与输出,一站式搞定数据存取与处理。
数据库今年来格局逐渐明朗,关系型与非关系型数据库、图数据库、搜索引擎等等。 消息队列目前是 kafka 和 RabbitMQ 占据主导地位,随着分布式的进行,未来应该还会有更多可用的消息队列。
Numpy 数组
数组:array
很多其他科学计算的第三方库都是以 Numpy 为基础建立的。
Numpy 的一个重要特性是它的数组计算。
使用前一定要先导入 Numpy 包,导入的方法有以下几种:
import numpy
import numpy as np
from numpy import *
from numpy import array, sin
导入 numpy,最常用为这种:
import numpy as np
假如我们想将列表中的每个元素增 加 1,但列表不支持这样的操作(报错):
a = [1, 2]
# a + 1 # 报错
使用 numpy.array:
a = np.array(a)
a # [1 2]
b = a + 1
b # array([2,3])
与另一个 array 相加,得到对应元素相加的结果:
c = a + b
print(c) # array([3,5])
# 对应元素相乘:
print(a * b) # [2 6]
# 对应元素乘方:
print(a ** b) # [1 8]
数组的合 并
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.arange(2) # np.array([0, 1])
print(a, b)
'''[[1 2]
[3 4]] [0 1]'''
# 正确的做法是:
np.append(a, b) # array([1, 2, 3, 4, 0, 1])
# 错误的做法是:
print(list(a)+ list(b)) # [array([1, 2]), array([3, 4]), 0, 1]
提取数组中 的元素
# 提取第一个
a = np.array([1, 2, 3, 4])
print(a[0]) # 1
# 提取前两个元素:
print(a[:2]) # [1 2]
# 最后两个元素
print(a[-2:]) # [3 4]
# 相加:
print(a[:2] + a[-2:]) # [4 6]