Python数据分析白净被丈夫刺死实况、挖掘常用工具

摘要:来源:Python爱好者社区ID:python_shequ作者:深度沉迷学习 Python语言:简要概括一下Python语言在数据分析、挖掘场景中常


作者:深度沉迷学习

Python数据分析、挖掘常用工具

Python语言:

简要概括一下Python语言在数据分析、挖掘场景中常用特性:

列表(可以被修改),元组(不可以被修改)

字典(结构)

集合(同数学概念上的集合)

函数式编程(主要由lambda()、map()、reduce()、filter()构成)

Python数据分析常用库:

Python数据分析、挖掘常用工具

Python数据挖掘相关扩展库

NumPy

提供真正的数组,相比Python内置列表来说速度更快,NumPy也是Scipy、Matplotlib、Pandas等库的依赖库,永茂林地入口,内置函数处理数据速度是C语言级别的,因此使用中应尽量使用内置函数。

示例:NumPy基本操作

import numpy as np # 一般以np为别名 a = np.array([2, 0, 1, 5]) print(a) print(a[:3]) print(a.min()) a.sort() # a被覆盖 print(a) b = np.array([[1, 2, 3], [4, 5, 6]]) print(b*b)

输出:

[2 0 1 5] [2 0 1] 0 [0 1 2 5] [[ 1 4 9] [16 25 36]]

Scipy

NumPy和Scipy让Python有了MATLAB味道。Scipy依赖于NumPy,NumPy提供了多维数组功能,但只是一般的数组并不是矩阵。比如两个数组相乘时,只是对应元素相乘。Scipy提供了真正的矩阵,以及大量基于矩阵运算的对象与函数。

Scipy包含功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解等常用计算。

示例:Scipy求解非线性方程组和数值积分

# 求解方程组 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]) print(result) # 积分 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, err)

输出:

[ 1.91963957 1.68501606] 3.141592653589797 1.0002356720661965e-09

Matplotlib

Python中着名的绘图库,主要用于二维绘图,也可以进行简单的三维绘图。

示例:Matplotlib绘图基本操作

import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 10, 10000) # 自变量x,uu9980,10000为点的个数 y = np.sin(x) + 1 # 因变量y z = np.cos(x ** 2) + 1 # 因变量z plt.figure(figsize=(8, 4)) # 设置图像大小 # plt.rcParams['font.sans-serif'] = 'SimHei' # 标签若有中文,则需设置字体 # plt.rcParams['axes.unicode_minus'] = False # 保存图像时若负号显示不正常,则添加该句 # 两条曲线 plt.plot(x, y, label='$\sin (x+1)$', color='red', linewidth=2) # 设置标签,线条颜色,线条大小 plt.plot(x, z, 'b--', label='$\cos x^2+1$') plt.xlim(0, 10) # x坐标范围 plt.ylim(0, 2.5) # y坐标范围 plt.xlabel("Time(s)") # x轴名称 plt.ylabel("Volt") # y轴名称 plt.title("Matplotlib Sample") # 图的标题 plt.legend() # 显示图例 plt.show() # 显示作图结果

输出:

Python数据分析、挖掘常用工具

Pandas

Pandas是Python下非常强大的数据分析工具。它建立在NumPy之上,功能很强大,支持类似SQL的增删改查,并具有丰富的数据处理函数,支持时间序列分析功能,支持灵活处理缺失数据等。

Pandas基本数据结构是Series和DataFrame。Series就是序列,类似一维数组,DataFrame则相当于一张二维表格,类似二维数组,它每一列都是一个Series。为定位Series中的元素,Pandas提供了Index对象,类似主键。

DataFrame本质上是Series的容器。

示例:Pandas简单操作

import pandas as pd s = pd.Series([1, 2, 3], index=['a', 'b', 'c']) d = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]], columns=['a', 'b', 'c']) d2 = pd.DataFrame(s) print(s) print(d.head()) # 预览前5行 print(d.describe()) # 读取文件(路径最好别带中文) df=pd.read_csv("G:\\data.csv", encoding="utf-8") print(df)

输出:

a 1 b 2 c 3 dtype: int64 a b c 0 1 2 3 1 4 5 6 2 7 8 9 3 10 11 12 4 13 14 15 a b c count 6.000000 6.000000 6.000000 mean 8.500000 9.500000 10.500000 std 5.612486 5.612486 5.612486 min 1.000000 2.000000 3.000000 25% 4.750000 5.750000 6.750000 50% 8.500000 9.500000 10.500000 75% 12.250000 13.250000 14.250000 max 16.000000 17.000000 18.000000 Empty DataFrame Columns: [1068, 12, 蔬果, 1201, 蔬菜, 120104, 花果, 20150430, 201504, DW-1201040010, 散称, 生鲜, 千克, 0.973, 5.43, 2.58, 否] Index: []

Scikit-Learn

Scikit-Learn依赖NumPy、Scipy和Matplotlib,是Python中强大的机器学习库,提供了诸如数据预处理、分类、回归、聚类、预测和模型分析等功能。

示例:创建线性回归模型

from sklearn.linear_model import LinearRegression model= LinearRegression() print(model)

所有模型都提供的接口:

model.fit():训练模型,监督模型是fit(X,y),无监督模型是fit(X)

监督模型提供的接口:

model.predict(X_new):预测新样本model.predict_proba(X_new):预测概率,仅对某些模型有用(LR)
本文地址:http://www.800xj.com/edu/20190926/169897.html 转载请注明出处!
相关文章:
  1. [教育新闻]随着项目www sesehu con不断扩大
  2. [教育新闻]并保存在ip-port.txt的文件中健康九州网赶牛阿旗
  3. [教育新闻]也可以跨多个文件隔开上海yy房产网、自动发现然