利用Python进行数据分析(1) 简单介绍

一、处理数据的基本内容

数据分析 是指对数据进行控制、处理、整理、分析的过程。
在这里,“数据”是指结构化的数据,例如:记录、多维数组、Excel 里的数据、关系型数据库中的数据、数据表等。


二、说说 Python 这门语言

Python 是现在最受欢迎的动态编程语言之一(还有 Perl、Ruby 等)。近些年非常流行用 Python 建站,比如流行的 Python Web 框架 Django。
Python 这类语言被称为脚本语言,因为它们可以编写简短粗糙的小程序,即脚本。不过这好像在说 Python 无法构建严谨的软件似的,其实经过几年来不断改良, Python 不但拥有强大的数据处理功能,而且完全可以用它构建生产系统

不过由于 Python 是一种解释型语言, 大部分 Python 代码都要比编译型语言(比如 C++ 和 Java)的代码慢得多 。所以在那些要求延迟非常小的应用中,为了尽最大可能优化性能,使用 C++ 这种更低级且低生产率的语言更值得。
对于高并发、多线程的应用程序,Python 也不是一种理想的编程语言 ,这是因为 Python 有一个叫 GIL(全局解释器锁)的东西,这是一种防止解释器同时执行多条Python 字节码指令的机制。这并不是说 Python 不能执行真正多线程并行代码,只不过这些代码不能在单个 Python 进程中执行而已。


三、与数据分析相关的 Python 库

NumPy
NumPy 是 Python 科学计算的基础包,它提供:
  • 快速高效的多维数组对象 ndarray;
  • 直接对数组执行数学运算及对数组执行元素级计算的函数;
  • 线性代数运算、随机数生成;
  • 将 C、C++、Fortran 代码集成到 Python 的工具等。
它专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA 用其处理一些本来使用 C++,Fortran 或Matlab 等所做的任务。

Pandas
Pandas 主要提供快速便捷地处理结构化数据的大量数据结构和函数。

Matplotlib
Matplotlib 是最流行的用于绘制数据图表的 Python 库。

IPython
IPython 是 Python 科学计算标准工具集的组成部分,是一个增强的 Python Shell,目的是提高编写、测试、调试 Python 代码的速度。主要用于交互式数据处理和利用matplotlib 对数据进行可视化处理。

SciPy

SciPy 是一组专门解决科学计算中各种标准问题域的包的集合。主要包括以下包:

  • scipy.integrate: 数值积分例程和微分方程求解器;
  • scipy.linalg: 扩展了由 numpy.linalg 提供的线性代数例程和矩阵分解功能;
  • scipy.optimize: 函数优化器以及根查找算法;
  • scipy.signal: 信号处理工具;
  • scipy.sparse: 稀疏矩阵和稀疏线性系统求解器;
  • scipy.special: SPECFUN(这是一个实现了许多常用数学函数的 Fortran 库)的包装器。
  • scipy.stats: 标准连续和离散概率分布、各种统计检验方法和更好的描述统计法;
  • scipy.weave: 利用内联 C++ 代码加速数组计算的工具。


四、环境安装与配置

很简单,以 Mac OS X 系统安装步骤为例:
  1. 首先需要安装 Xcode,为了使用 gcc C 和 C++ 编译器
  2. 下载并安装 Unthought Canopy(下载地址:https://store.enthought.com/downloads/)
    Unthought Canopy 是面向科学计算的 Python 安装包,已包含 NumPy, SciPy, Pandas, Matplotlib, IPython 等库。

检测是否安装成功:
启动 IPython,导入 pandas 并输入 plot(arange(100)),如果弹出一个包含一条直线的绘图框即表示安装成功。
打开 Terminal:

包含一条直线的绘图框:

转载于:https://www.cnblogs.com/sirkevin/p/5726306.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python每周小测验答案_python第一周小测验答案Centos下更新Python版本

Centos下更新Python版本,有需要的朋友可以参考下。 注意:更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令、软件包都要依赖预装的老版本python的,比如yum。 更新python: 第1步&…

【复习】使用 SQLiteDatabase 操作 SQLite 数据库

Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。对SQLiteDatabase的学习,…

grep, egrep, fgrep笔记

grep, egrep, fgrep grep: 根据模式搜索文本,并将符合模式的文本行显示出来。Pattern: 文本字符和正则表达式的元字符组合而成匹配条件grep [options] PATTERN [FILE...] -i:不区分大小写 --color -v: 显示没有被模式匹配到的行 -o&#…

python可以开多少线程_python多线程详解

python多线程详解 一、线程介绍 什么是线程 线程(Thread)也叫轻量级进程,是操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中…

android 设置线程优先级

1. android.os.Process.setThreadPriority (int priority)或 android.os.Process.setThreadPriority (int tid, int priority) priority:【-20, 19】,高优先级 -> 低优先级…

ArcGIS for Desktop入门教程_第八章_Desktop学习资源 - ArcGIS知乎-新一代ArcGIS问答社区...

ArcGIS for Desktop入门教程_第八章_Desktop学习资源 - ArcGIS知乎-新一代ArcGIS问答社区 原文:ArcGIS for Desktop入门教程_第八章_Desktop学习资源 - ArcGIS知乎-新一代ArcGIS问答社区1 学习资源用户在学习和应用过程中,可以参考的资源如下:1. ArcGIS资…

python中面向对象_简述Python中的面向对象编程的概念

面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。 面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为…

android 使用Binder通信

遇到下雨,写个简单例子,用于Activity与Service通信,之前也有一篇Binder的:点击。 例子非常简单: MainActivity.java package com.juno.testbind;import android.app.Activity; import android.content.ComponentNam…

随机数测试

学习链接 http://lavasoft.blog.51cto.com/62575/113758/import java.util.Random; /** * 随机数、随即字符串工具 * User: leizhimin * Date: 2008-11-19 9:43:09 */ public class RandomUtils { public static final String allChar "0123456789abcdefghijklmnopq…

python spark dataframe_pyspark dataframe 常用操作

spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能。当然主要对类SQL的支持。 在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选、合并,重新入库。 首先加载数据集,然后在提取数据集的前几行过程中&#x…

Android使用PorterDuffXfermode实现遮罩效果

当我们在程序里需要做遮罩效果时,可以PorterDuffXfermode类实现。 例如有一副图片,需要使用一个图形(一般是可以使用Canvas画出来的图形),图形覆盖到的地方在图片上才显示出来,可以使用PorterDuff.Mode.SR…

Oracle数据库sql调优

最近做的一个项目涉及到大数据量的数据表查询。数据表总量在7亿-20亿左右,以主键建立全局唯一索引,分区策略是hash分区范围分区,很大部分情况下查询条件命中记录数超过万条,单次返回前XX条记录。在调优过程中总结出以下经验&#…

amd sata controller下载_AMD发布全新锐龙芯片组驱动:告别卡死、报错

AMD今天发布了全新的锐龙平台芯片组驱动,版本号2.04.04.111,从界面到功能都全面升级,并修复了此前存在的多个严重Bug。新驱动重新设计了安装界面,借鉴了Radeon Adrenalin 2020肾上腺素显卡驱动的诸多元素,更加时尚美观…

Android自定义属性动画

当我们对一个View进行透明度变化的动画,我们可以这样写: ValueAnimator fadeAnimator ObjectAnimator.ofFloat(myView, View.ALPHA, 1.0f, 0.0f); fadeAnimator.setInterpolator(PathInterpolatorCompat.create(0.33f, 0f, 0.66f, 1f)); fadeAnimator.s…

mysql数据库基础的简单操作指南

最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益。mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据库。比mssql最大的优势在于开源,免费。希望与大…

kill 进程_结束进程,查看后台进程

有一些进程想要结束怎么办呢?进程的优先是怎样的呢?如何查看后台正在运行的进程呢?下面我就来讲讲给进程发送信号(kill -l列出所有支持的信号)[rootqianfeng ~]# kill -l 编号 信号名1) SIGHUP 重新加载配置2) SIGINT 键盘中断CtrlC3) SIGQUIT 键盘退出…

软碟通

转载于:https://www.cnblogs.com/jcfxl/p/5739741.html

AlarmManager使用

AlarmManager是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的Intent,为你的应用设定一个在未来某个时间唤醒的功能。 当闹钟响起,实际上是系统发出了为这个闹钟注册的广播,会自动开启目标应用。 注册…

controller调用controller的方法_SpringCloud(5):Feign整合Ribbon和Hystrix来进行远程调用与服务熔断...

Feign前面我们虽然使用了Ribbon和Hystrix进行了负载均衡和服务熔断,但是我们的消费方代码中由于要调用提供方的服务,比如:String user this.restTemplate.getForObject("http://service-provider/user/" id, String.class);使用了…

w3svc无法启动

w3svc无法启动 运行命令regedit,打开注册表编辑器,进入:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP]: a) Change Start from 4 ( disabled) to 3 ( automatically)b) Delete "NoRun" key if this key exists 重启…