从现在开始我们开始学习数据挖掘的有关内容,默认已经安装了相应的环境。
Numpy
# -*- coding: utf-8 -*
import numpy as np # 一般以np作为numpy的别名
a = np.array([2, 0, 1, 5]) # 创建数组
print(a) # 输出数组
print(a[:3]) # 引用前三个数字(切片)
print(a.min()) # 输出a的最小值
a.sort() # 将a的元素从小到大排序,此操作直接修改a,因此这时候a为[0, 1, 2, 5]
b = np.array([[1, 2, 3], [4, 5, 6]]) # 创建二维数组
print(b * b) # 输出数组的平方阵,即[[1, 4, 9], [16, 25, 36]]
Scipy
# -*- coding: utf-8 -*
# 求解非线性方程组2x1-x2^2=1,x1^2-x2=2
from scipy.optimize import fsolve # 导入求解方程组的函数
def f(x): # 定义要求解的方程组
x1 = x[0]
x2 = x[1]
return [2 * x1 - x2 ** 2 - 1, x1 ** 2 - x2 - 2]
result = fsolve(f, [1, 1]) # 输入初值[1, 1]并求解
print(result) # 输出结果,为array([ 1.91963957, 1.68501606])
# 数值积分
from scipy import integrate # 导入积分函数
def g(x): # 定义被积函数
return (1 - x ** 2) ** 0.5
pi_2, err = integrate.quad(g, -1, 1) # 积分结果和误差
print(pi_2 * 2) # 由微积分知识知道积分结果为圆周率pi的一半
Matplotlib
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt # 导入Matplotlib
x = np.linspace(0, 10, 1000) # 作图的变量自变量
y = np.sin(x) + 1 # 因变量y
z = np.cos(x ** 2) + 1 # 因变量z
plt.figure(figsize=(8, 4)) # 设置图像大小
plt.plot(x, y, label='$\sin x+1$', color='red', linewidth=2) # 作图,设置标签、线条颜色、线条大小
plt.plot(x, z, 'b--', label='$\cos x^2+1$') # 作图,设置标签、线条类型
plt.xlabel('Time(s) ') # x轴名称
plt.ylabel('Volt') # y轴名称
plt.title('A Simple Example') # 标题
plt.ylim(0, 2.2) # 显示的y轴范围
plt.legend() # 显示图例
plt.show() # 显示作图结果
Pandas
# -*- coding: utf-8 -*-
import pandas as pd # 通常用pd作为pandas的别名。
s = pd.Series([1, 2, 3], index=['a', 'b', 'c']) # 创建一个序列s
d = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['a', 'b', 'c']) # 创建一个表
d2 = pd.DataFrame(s) # 也可以用已有的序列来创建表格
d.head() # 预览前5行数据
d.describe() # 数据基本统计量
# 读取文件,注意文件的存储路径不能带有中文,否则读取可能出错。
pd.read_excel('data.xls') # 读取Excel文件,创建DataFrame。
pd.read_csv('data.csv', encoding='utf-8') # 读取文本格式的数据,一般用encoding指定编码。
以上粘贴的是第二张的有关四个常用的数据分析工具的有关代码。