Python数据分析(一):工具的简单使用
1、Numpy
安装:pip install numpy
- [root@kvm work]# cat numpy_test.py
- #!/usr/bin/env python
- #coding:utf-8
- from __future__ import print_function
- # 导入模块并添加别名
- import numpy as np
- # 创建数组
- a = np.array([2,0,1,7])
- print(a)
- print(a[:3])
- print(a.min())
- a.sort()
- print(a)
- # 创建二维数据
- b = np.array([[1,2,3],[4,5,6]])
- print(b)
- print(b*b)
- [root@kvm work]# python numpy_test.py
- [2 0 1 7]
- [2 0 1]
- 0
- [0 1 2 7]
- [[1 2 3]
- [4 5 6]]
- [[ 1 4 9]
- [16 25 36]]
简单使用
2、Scipy
安装:pip install 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]
- # 输入初值[1 ,1]并求解
- 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) #由微积分知识知道结果为圆周率pi的一半
简单使用
3、Matplotlib
安装:pip install matplotlib
- # coding: utf-8
- import numpy as np
- import matplotlib.pyplot as plt
- 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() #显示作图结果
简单使用
作图结果:
4、Pandas
安装:pip install pandas
- # coding: utf-8
- import pandas as pd
- 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() #数据基本统计量
- print(d)
- print(d2)
- # 读取文件,注意文件的存储路径不能带有中文,否则读取可能出错
- pd.read_excel('data.xlsx') # 读取Excel文件,创建DataFrame
- pd.read_csv('company_name.csv', encoding='gbk') #读取文本格式的数据
简单使用
5、StatsModels
安装:pip install statsmodels
- # coding: utf-8
- # 导入ADF校验
- from statsmodels.tsa.stattools import adfuller as ADF
- import numpy as np
- # 返回的结果有ADF值、p值等
- print(ADF(np.random.rand(100)))
简单使用
5、Scikit-Learn
安装:pip install scikit-learn
- # coding: utf-8
- # 导入线性回归模型
- from sklearn.linear_model import LinearRegression
- # 建立线性回归模型
- model = LinearRegression()
- print(model)
- # 导入数据集
- from sklearn import datasets
- # 加载数据集
- iris = datasets.load_iris()
- # 查看数据集大小
- print(iris.data.shape)
- # 导入SVM模型
- from sklearn import svm
- # 建立线性SVM分类器
- clf = svm.LinearSVC()
- # 用数据训练模型
- clf.fit(iris.data, iris.target)
- # 训练完成模型之后输入新的数据进行预测
- clf.predict([[ 5.0, 3.6, 1.3, 0.25 ]])
- #查看训练好模型的参数
- print(clf.coef_)
简单使用
Python数据分析(一):工具的简单使用的更多相关文章
- python数据分析的工具环境
python做数据分析的优势: 拥有大量的库为数据分析和处理提供了完整的工具链 随着库还在不断的增加的同时, 算法的实现也更加的创新.Numpy, matplotlib, scipy,scikit-l ...
- python数据分析中常用的库
Python是数据处理常用工具,可以处理数量级从几K至几T不等的数据,具有较高的开发效率和可维护性,还具有较强的通用性和跨平台性,这里就为大家分享几个不错的数据分析工具,需要的朋友可以参考下 Pyth ...
- Python数据分析工具:Pandas之Series
Python数据分析工具:Pandas之Series Pandas概述Pandas是Python的一个数据分析包,该工具为解决数据分析任务而创建.Pandas纳入大量库和标准数据模型,提供高效的操作数 ...
- Python 数据分析中常用的可视化工具
Python 数据分析中常用的可视化工具 1 Matplotlib 用于创建出版质量图表的绘图工具库,目的是为 Python 构建一个 Matlab 式的绘图接口. 1.1 安装 Anaconada ...
- Python包管理工具和多版本环境管理
1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...
- 《Python数据分析与挖掘实战》读书笔记
大致扫了一遍,具体的代码基本都没看了,毕竟我还不懂python,并且在手机端的排版,这些代码没法看. 有收获,至少了解到以下几点: 一. Python的语法挺有意思的 有一些类似于JavaSc ...
- (python数据分析)第03章 Python的数据结构、函数和文件
本章讨论Python的内置功能,这些功能本书会用到很多.虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的. 我们会从Python最基础 ...
- Python测试 ——开发工具库
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...
- Python数据分析必备Anaconda安装、快捷键、包安装
Python数据分析必备: 1.Anaconda操作 Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便 ...
- [python] 使用scikit-learn工具计算文本TF-IDF值
在文本聚类.文本分类或者比较两个文档相似程度过程中,可能会涉及到TF-IDF值的计算.这里主要讲述基于Python的机器学习模块和开源工具:scikit-learn. 希望文章对你有所帮 ...
随机推荐
- iOS开发 支持https请求以及ssl证书配置(转)
原文地址:http://blog.5ibc.net/p/100221.html 众所周知,苹果有言,从2017年开始,将屏蔽http的资源,强推https 楼主正好近日将http转为https,给还没 ...
- Js常用插件介绍
*各种JS功能介绍 1.zDialog.js 各种弹窗插件详细案例:http://www.2ky.cn/Pri_upfile/txdemo/0811/zDialog/zDialogDemo.html ...
- 数据库 proc编程三
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...
- git error Another git process seems to be running in this repository
How to fix error Another git process seems to be running in this repository When you use Git, you se ...
- JVM与外界通过数据通道进行数据交换
使用I/O流访问file中的内容. JVM与外界通过数据通道进行数据交换. 分类: 按流分为输入流和输出流: 按传输单位分为字节流和字符流: 还可以分为节点流和过滤流. 节点流:负责数据源和程序之间建 ...
- 《随机出题软件》&《随机分队软件》源码(Windows API)
1 引言 1.1 编写目的: 为了对院级活动<最强大脑>提供软件支持,同时为了练习使用windows API. 1.2 项目背景: 来自计算机学院学生会信息部指派的任务,规定时间完成软件的 ...
- freemarker1 一些内建函数和用法
${" green mouse"?cap_first} --> Green mouse //字符串中的第一个单词的首字母大写 ${"ABCDF" ...
- 关于ie中实现弹性盒模型-我的css
css3中的弹性盒模型大家都不陌生,但是能否在ie6中实现呢?第三方库中涉及到的页少之又少,也有一部分css框架中支持各种布局,下面给出我用的盒模型样式(为了以后copy方便而已): /******* ...
- 动态规划——最长公共上升子序列LCIS
问题 给定两个序列A和B,序列的子序列是指按照索引逐渐增加的顺序,从原序列中取出若干个数形成的一个子集,若子序列的数值大小是逐渐递增的则为上升子序列,若A和B取出的两个子序列A1和B1是相同的,则A1 ...
- 三 Android Studio打包EgretApp (SDK选择和下载)
一 设置项目的sdk路径 二 设置项目使用sdk版本 一 设置项目的sdk路径 设置SDK目录 选择你电脑上的sdk路径 二 在项目中设置SDK版本 在项目中设置编译的sdk版本 在SDK Manag ...