2019-04-15 15:24:18 Mr_Liuzhongbin 阅读数 155
  • Python数据分析实战-Pandas

    深度学习、机器学习和数据分析必须用pandas。pandas是在python直接流行的数据处理框架。可以说,如果不会使用pandas,就谈不上会用python做数据分析。本课程会使用奥林匹克一个真实的数据作为实验数据,从初级到各种pandas的常用操作,到常用的数据可视化,让你在短的时间内掌握好pandas,轻松愉快的玩转数据分析。

    2334 人正在学习 去看看 阿勒拉哈

前言

《利用Python进行数据分析》第四章介绍了numpy的基础应用,其中它在数组上的应用使我印象很深刻,并且在数据分析中应用很广泛。

目录

1.多维数组对象
2.快速的逐元素数组函数
3.使用数组进行面向数组编程
4.使用数组进行文件输入和输出
5.线性代数
6.示例:随机漫步的生成

正文

**

1.多维数组对象

**
生成一个6*3的随机数组

IN []: arr = np.random.randn(6, 3)
	   arr
[Out]: array([[-1.60504942,  0.83249693,  0.99075717],
       [ 0.53067705,  0.84047313,  0.37179762],
       [ 0.61024516, -1.74693451,  0.17061718],
       [ 0.78270522, -1.23342501, -0.42861251],
       [-0.48350215,  0.19488044, -0.4704741 ],
       [-0.38717591, -0.63085269, -0.92930177]])

可以通过array函数将序列型对象生成Numpy数组
这里的示例生成一个223的数组

IN [] : arr3d = np.array([[[1, 2, 3],[4, 5, 6]],[[7, 8, 9], [10, 11, 12]]])
		arr3d
[Out]: array([[[ 1,  2,  3],
        [ 4,  5,  6]],
       [[ 7,  8,  9],
        [10, 11, 12]]])

数组元素的类型可以使用 dtype属性来指定
Numpy数组算术
在这里值得注意的一点是,不同尺寸的数组间的操作,会用到广播特性。在这个本书的附录中将会讲到。
相同尺寸的数组间的元素遵循线性代数中数组的基本运算规则
基础索引与切片
基础索引就是跟其他语言数据的索引一样,在[]中写入索引值,将获取该索引对应元素的值。
不过数组的切片与列表的切片有不同之处

区别于Python的内建列表,数组的切片是原数组的视图。这意味着数据并不是被复制了,任何对于视图的修改都会反映到原数组上。

如果要想得到的是切片的拷贝,要使用copy函数
另外,对数组中的元素的进行索引返回的也是视图,对于刚才的223的数组来说,[?,?,?]索引域中的索引值分别对应223的每一个维度

IN []: arr3d[0]
[Out]: array([[1, 2, 3],
       [4, 5, 6]])

数组的布尔索引在数据分析中应用的也很多,它的原理是对这一个数组进行遍历,按照给定的条件筛选数组中的元素,满足条件的即返回。使用布尔索引生成的是数据的拷贝。
数组的转置和转轴
转置

IN []: arr = np.arange(15).reshape((3, 5))
	   arr
[Out]: array([[ 0,  1,  2,  3,  4],
      		  [ 5,  6,  7,  8,  9],
      		  [10, 11, 12, 13, 14]])
IN [] :  arr.T
[Out]: array([[ 0,  5, 10],
       [ 1,  6, 11],
       [ 2,  7, 12],
       [ 3,  8, 13],
       [ 4,  9, 14]])

关于数组的转轴,在学习这一块知识的时候我很难理解,这里我是看到网上一篇文章Python numpy.transpose 详解才理解的
根据这篇文章形象化的解释,我自己的理解是:上面代码中的arr数组,比如说元素1它的索引是[0, 1]其中前面一个索引域是0轴,后面的为一轴,现在进行轴变换,那么元素1的索引变成了[1, 0],但是它的索引域的含义是不变的,可是对应的值变换了,索引将变化前的索引为[1, 0]的元素5替换成了1

2.快速的逐元素数组函数

IN [] : arr = np.random.randn(7)*5
		arr
[Out]:array([ 8.37010464, -0.09968331,  0.01240594, -2.65865996,  7.27590321,
        0.0255119 , -0.57315897]) 
IN [] : np.sqrt(arr, arr)
[Out]: array([2.89311331,        nan, 0.11138194,        nan, 2.69738822,
       0.15972446,        nan])

这里对数组逐元素开根,对于小于0的元素做开根运算用缺省值代替

3.使用数组进行面向数组编程

数学和统计方法
基础的数组统计方法有:sum,mean,std,var,min,max等,这些统计方法使用非常频繁,为数据分析带来了很大的便利
计算数组中所有元素的和

IN [] : arr = np.random.randn(5, 4)
		arr.sum()
[Out]: -0.9955883629817042

计算数组中所有元素的平均值

IN [] : arr.mean()
[Out]: -0.04977941814908521

如果向函数中传入axis=1代表的含义是按照列轴向统计,axis=0代表的是按照行轴向统计。arr.mean(axis=1)就是计算每一列的平均值

4. 广播

IN [] : arr = np.arange(5)
		arr
[Out]: array([0, 1, 2, 3, 4])
IN [] : arr * 4
[Out]: array([0, 4, 8, 12, 16])

这里标量值4已经被广播给乘法运算中的所有元素了,这段代码就是利用了Python数组的广播机制对每个元素的值乘4。

IN [] : arr = np.random.randn(4, 3)
		arr
[Out] : array([[-0.19531449, -0.10463109, -0.24440308],
       [ 2.13964106, -0.30258211, -0.65737959],
       [-0.29235519,  0.17459244, -0.84254349],
       [-0.27701557,  0.0493323 ,  0.1388859 ]])
IN [] : arr.mean(0)#求每列的平均值
[Out] : array([ 0.34373895, -0.04582211, -0.40136006])
IN [] : demeaned = arr - arr.mean(0)
		demeaned
[Out] : array([[-0.53905345, -0.05880898,  0.15695699],
       [ 1.7959021 , -0.25675999, -0.25601953],
       [-0.63609414,  0.22041456, -0.44118342],
       [-0.62075452,  0.09515442,  0.54024597]])

arr是一个4x3的数组,arr.mean(0)是一个1x3的数组,将两个数组进行减法元素的时候,广播体制会将arr.mean(0)数组按照行进行广播变成一个4x3的数组进行运算
例:
在这里插入图片描述
同理也可按照列进行广播
广播的规则

如果对于每个结尾维度(即从尾部开始的),轴长度都匹配或者长度都是1,两个二维数组就是可以兼容广播的。之后,广播会在丢失的或长度为1的轴上进行。

广播必须满足其中一个数组的维度中有一个维度为1,然后广播就是在这个维度为1的轴上进行。

2015-12-17 14:46:43 sinat_33408431 阅读数 901
  • Python数据分析实战-Pandas

    深度学习、机器学习和数据分析必须用pandas。pandas是在python直接流行的数据处理框架。可以说,如果不会使用pandas,就谈不上会用python做数据分析。本课程会使用奥林匹克一个真实的数据作为实验数据,从初级到各种pandas的常用操作,到常用的数据可视化,让你在短的时间内掌握好pandas,轻松愉快的玩转数据分析。

    2334 人正在学习 去看看 阿勒拉哈

 因工作原因,开始学习数据分析,挖掘等的相关内容。目前正在利用空闲时间学习,此文为《利用python进行数据分析》的读书笔记,以及相关的注意点,写文以做留存提醒之用。目前使用的电脑是windows7+64位

准备工作篇:

该章节主要介绍的是相关环境的安装和设置,由于书籍作者写的时间问题,很多的工具都是老版本,可能已经改名或者更新版本,完全参照书实现存在困难。

本书使用的环境是一个python的集成开发环境-Enthought Python Distribution(EPD),以及一些面向科学计算的库,以实现数据分析,本节主要介绍的是EPD和pandas库的安装和设置。

1 Enthought Python Distribution(EPD)

 书中介绍的EPD是一个python的集成开发环境,由Enthought公司开发,现在这个已经改名叫做Enthought Canopy。其集成了NumPy,SciPy,matplotlib及Ipython等十分常用的包。有个人版本,公司版本,和学术版本。个人版本中根据需求不同,价格不同,个人版本中提供免费版本,上述包在免费版本中都存在。学术版本貌似只要提供一个学校邮箱地址就可以,没试过,直接下的是个人免费版,学习阶段应该够用。免费的下载地址是:https://store.enthought.com/downloads/#default

另外,这本书中介绍,EPD在windows下只有32位系统,本人亲测证明,已经有64位的了,下载的时候它会自动根据windows的系统下载对应版本。

下载完成之后点击安装即可,安装的版本是python2.7 。

注意:如果本身电脑已经有python了,记得卸载,同时记得修改环境变量,添加相应路径,不然安装会存在问题。

2 pandas包安装

    书上说的需要下载的包我完全没找到,只能自己搜资料,摸索。具体安装的过程如下:

   pandas包的下载地址是:https://pypi.python.org/pypi/pandas,打开时候,下载项如下:

 

我们要下载的是红框的那个,下载完成之后,解压,文件夹中有setup.py。

在该文件夹下打开命令行,输入python setup.py install,即可安装pandas包。

如果安装过程中报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat

则打开地址:http://www.microsoft.com/en-us/download/details.aspx?id=44266 ,下载安装。

安装完成后,重新安装pandas包即可。

为确定包是否成功安装,打开Pylab,运行下面命令:


import pandas
plot(arange(10))
出现下图则证明安装成功。



注:pylab是 Matplotlib 和Ipython提供的一个模块,提供了类似Matlab的语法,在启动Ipython时可以使用--pylab启动,它相当于导入库Numpy和Matplotlib


参考文章:

http://blog.csdn.net/armwangeric/article/details/25537329

http://www.tuicool.com/articles/MvYVru

http://blog.csdn.net/htx931005/article/details/46864637








   


2018-08-07 18:31:38 luoluopan 阅读数 1053
  • Python数据分析实战-Pandas

    深度学习、机器学习和数据分析必须用pandas。pandas是在python直接流行的数据处理框架。可以说,如果不会使用pandas,就谈不上会用python做数据分析。本课程会使用奥林匹克一个真实的数据作为实验数据,从初级到各种pandas的常用操作,到常用的数据可视化,让你在短的时间内掌握好pandas,轻松愉快的玩转数据分析。

    2334 人正在学习 去看看 阿勒拉哈
从零开始学Python数据分析—169人已学习
课程介绍    
jpg
    Python数据分析小分队系列课程开始10讲。 由《从零开始学Python网络爬虫》和《从零开始学Python数据分析》图书作者,简书知名博主,Python讲师罗攀主讲。
课程收益
    Python数据分析环境搭建,各种数据分析和可视化方法
讲师介绍
    罗攀更多讲师课程
    罗攀,硕士研究生,《从零开始学Python网络爬虫》和《从零开始学Python数据分析》作者,Python中文社区,Python爱好者社区专栏作者。擅长网络爬虫、数据分析,在web开发,数据库,机器学习等领域有所涉猎,已开设多次爬虫线上课程。
课程大纲
    1.Python环境搭建与使用  39:44
    2.Numpy入门与实践  49:47
    3.pandas入门与实践  41:33
    4.外部数据读取与存储  32:34
    5.数据清洗与整理  46:33
    6.数据分组与聚合  41:57
    7.matplotlib可视化  38:26
    8.地图可视化与seaborn可视化  44:05
    9.pyecharts可视化  42:14
    10.时间序列  37:40
大家可以点击【查看详情】查看我的课程
2019-09-11 16:19:33 weixin_45587093 阅读数 30
  • Python数据分析实战-Pandas

    深度学习、机器学习和数据分析必须用pandas。pandas是在python直接流行的数据处理框架。可以说,如果不会使用pandas,就谈不上会用python做数据分析。本课程会使用奥林匹克一个真实的数据作为实验数据,从初级到各种pandas的常用操作,到常用的数据可视化,让你在短的时间内掌握好pandas,轻松愉快的玩转数据分析。

    2334 人正在学习 去看看 阿勒拉哈

使用Python进行数据挖掘是最近几年才开始火起来的,之前网上很多的资料都是关于Python网页开发等。但使用Python进行数据挖掘的侧重点已经完成不一样了。本人就是浪费了很多时间来筛选这些博客、书籍。所以就有了本文,希望能帮大家少走一点弯路。

----------我是分割线--------

本文章主要从数据挖掘的角度出发, 讲讲如何零基础学习Python语法、数据清洗、以及数据建模。本文不能保证你能成为大神,但是如果能踏踏实实地学习完,找一份年薪15w+的工作还是不太难的。本人也是非计算机专业,所以希望给非计算机的人一点参考,大神请绕道。

熟练掌握任何一门语言,几乎都需要经过以下过程:

良师--学习Python课程+入门书籍+浏览技术博客
社区帮助--善于使用搜索引擎、Mail List
益友 -- 寻找学习伙伴
Learn by Code --项目实践
一、Python学习课程推荐

这两个学习课程从最基础的Python语法开始,介绍了Python数据分析、统计模型以及机器学习的各个方面,内容十分充足。之所以建议使用老外的课程是因为,老外上课假定你什么都不会,讲解深入浅出,尤其是对于华盛顿大学的机器学习课程,把复杂的概念讲解得十分简单。

  1. 密歇根大学的《学习使用Python编程并分析数据》主要包括以下课程(讲解十分详细,深入浅出,非常适合入门学习,视频都是有字幕的):

《大家的编程 (Python 入门》:课程涵盖了如何使用Python的基本指令编写程序. 课程对学生没有先设要求, 我们只涉及到最基本的数学, 有一定使用电脑经验的人都可以完全掌握这门课的内容.
《Python 数据结构》:本课程将介绍Python编程语言的核心数据结构。我们将学习编程语言的基础概念,探索如何使用Python的内置数据结构,如列表、字典、元组,进行更为复杂的数据分析。
《使用 Python 访问网络数据》:使用Python爬取和解析网络数据
《Python 数据库开发》:使用Python和数据库进行交互
《使用 Python 获取并处理数据,并用可视化方式展现数据》
2. 华盛顿大学的《机器学习》专项课程

在专项课程页面无法选择旁听,必须点击进入单独课程页面才可,这个课程专题旁听是有限制的,无法提交作业;如有需求,可以申请奖学金,回答三个问题即可,系统自动通过申请。

《机器学习基础:案例研究》:你是否好奇数据可以告诉你什么?你是否想在关于机器学习促进商业的核心方式上有深层次的理解?你是否想能同专家们讨论关于回归,分类,深度学习以及推荐系统的一切?在这门课上,你将会通过一系列实际案例学习来获取实践经历。
《机器学习:回归》
《机器学习:分类》
《机器学习:聚类和检索》
《机器学习:推荐系统和降维》
《机器学习:应用深度学习创建智能运用》
二、网上打码教程

Learn by doing!!! 学习编程最有效的方式就是敲代码!

Codecademy 围绕Python 的基础语法,内容非常丰富。
Datacamp Python基本语法(他家的R语言课程十分不错!)
三、Python技术博客

简单介绍一些非常棒的Python技术学习的博客

  1. 廖雪峰Python教程 简单易上手的Python基础语法教程,值得学习, Python 2和Python 3版本都有。

  2. 非常棒的pandas练习Github Repo

  3. 很详细的Python 爬虫教程

  4. 国外Data Science博客大全

四、Python入门书籍推荐

常用书籍下载网址,几乎囊括了网上能找得到的所有Python相关的书籍(PDF、Epub和mo bi格式),且提供云盘下载链接。你值得拥有!

python | 搜索结果

  1. 掌握Python语法的基础上学习《Python for data analysis》是比较不错的选择,涵盖了ipython notebook、Numpy、Scipy和Pandas包的使用。

2.《Python数据分析与挖掘实战》介绍了使用Python进行数据挖掘的详细案例,数据和代码都可以下载,作为机器学习的进阶学习是不错的选择(这本书也用对应的R语言和Matlab 版本)。

  1. 《Python Cookbook》很厚的一本书,可以作为Python语法查询手册。

再添加几个外文书籍下载网址:

  1. All IT eBooks 全,可能需要使用翻*墙下载,翻*墙方法见文末

  2. Library Genesis 各种书籍,不局限于编程书籍

  3. Fox eBook - eBooks Free Download Site

  4. Development / Programming / AvaxHome

五、推荐订阅博客(更细频率较高)

iPhone上可以使用Reeder阅读器,Instapaper用来保存后稍后阅读,因为信息量比较大。

No free Hunch Kaggle竞赛平台的官方博客,包括一些优秀的代码解读以及高分选手的采访,十分有用的经验(来自不同背景,不同年龄层次,不同职业的选手)
Flowing Data 十分有用的数据分析的案例
Python日报 内容十分精彩的集锦(中文)
六、FAQ (待续)

Python 2.x还是Python 3.x?
如何安装Python包? 强烈推荐Anaconda包,你值得拥有!尤其是Windows系统。
网络速度慢,请翻*墙,安利一款免费好用Google开发的防屏蔽的梯子Lantern,速度不错。
是否需要很强的统计和数学背景? 有良好的数学和统计背景固然很好,但是现在很多岗位对数学和统计背景要求并不很多,都是简单的算法,Python编程已经能够很方便地实现,更多的是对业务的深入理解。如有需要建议,边学习Python边学习数学统计。
七、实践项目

Kaggle竞赛项目,里面不仅仅有很多竞赛项目,而且有很多可供学习的代码、博客以及论坛,都是实战项目,有很强的实践价值。
----------------------

中文的Python数据分析的教程较少,而且质量良莠不齐,所以推荐多为英文资料。而且随着学习的深入,有时候只有英文资料可以借鉴。学习数据分析和机器学习,英文再好也不为过。并不是说中国没有优秀的人才,而是为了便于国际交流学习,中国人也多用英语。

成长离不开与优秀的同伴共同交流,如果你需要好的学习环境,好的学习资源,这里欢迎每一位热爱Python的小伙伴——创客python交流群(772882553)。

2019-07-03 18:37:09 weixin_45354775 阅读数 18
  • Python数据分析实战-Pandas

    深度学习、机器学习和数据分析必须用pandas。pandas是在python直接流行的数据处理框架。可以说,如果不会使用pandas,就谈不上会用python做数据分析。本课程会使用奥林匹克一个真实的数据作为实验数据,从初级到各种pandas的常用操作,到常用的数据可视化,让你在短的时间内掌握好pandas,轻松愉快的玩转数据分析。

    2334 人正在学习 去看看 阿勒拉哈

利用python进行数据分析 中文第二版


学术自由,拒绝任何书籍分享索要金钱跟站币。
#下载地址如下:

中文版下载链接:https://pan.baidu.com/s/1Hs5I8RLEm-yHri1BOMGbHw 提取码:phap
英文版下载链接:https://pan.baidu.com/s/1Mga87-v2tWRm8417k48JtQ 提取码:7eja
代码下载:https://pan.baidu.com/s/1mW1jnaTY0cOfL9NcHk7c0g 提取码:wx2l

没有更多推荐了,返回首页