loannes's blog

分类 · 杂谈

首页

关于

归档

loading..
Python, Pandas

Python数据分析之Pandas-Series与DataFrame基本功能(五)

层次化索引 层次化索引让你能在一个轴上拥有多个索引级别。 层次化索引我个人理解是对索引进行了分组,比方说一部分数据是今年的,一部分数据是明年的,可通过层次化索引进行切块以方便后续选取数据 In [263]: data = Series(np.random.randn(10), index=[['2010','2010','2010','2011','2011','2011','2012','2012','2013','2013'],[ ...: 1, 2, 3, 1, 2, 3, 1, 2, 2, 3]]) # 这种形式叫做带有```MultiIndex```索引的格式化输出形式。 In [264]: data Out[264]: 2010 1 1.739760 2 ..

更多
loading..
Python, Pandas

Python数据分析之Pandas-Series与DataFrame基本功能(三)

汇总和计算描述统计 pandas中有一些常用的统计方法,主要功能是做约简和汇总统计。 In [188]: df = DataFrame([[1.4, np.nan], [7.1, -4.5], [np.nan, np.nan], [0.74, -1.3]], index=['a','b','c','d'], columns=['one','two']) In [190]: df Out[190]: one two a 1.40 NaN b 7.10 -4.5 c NaN NaN d 0.74 -1.3 In [189]: df.sum() Out[189]: one 9.24 two -5.80 dtype: float64 也可以逐列运算: In [191]: d..

更多
loading..
Python, Pandas

Python数据分析之Pandas-Series与DataFrame基本功能(四)

如何处理缺失数据 在练习中经常遇到pandas使用浮点值NaN来表示数组中的缺失数据。那我们该如何处理这些缺失数据? In [228]: string_data = Series(['aardvark', 'artichoke', np.nan, 'avocado']) In [229]: string_data Out[229]: 0 aardvark 1 artichoke 2 NaN 3 avocado dtype: object In [230]: string_data.isnull() Out[230]: 0 False 1 False 2 True 3 False dtype: bool 通过isnull函数我们得知了..

更多
loading..
Python, Pandas

Python数据分析之Pandas-Series与DataFrame基本功能(二)

算数运算和数据对齐 pandas中的一个功能是对不同索引的对象进行算数运算。在运算时,如果存在不同的索引对,那么结果就是它们的并集。 In [122]: s1 = Series([7.3, -2.5, 3.4, 1.5], index=['a','c','d','e']) In [123]: s2 = Series([-2.1, 3.6, -1.5, 4, 3.1], index=['a','c','e','f','g']) In [124]: s1 Out[124]: a 7.3 c -2.5 d 3.4 e 1.5 dtype: float64 In [125]: s2 Out[125]: a -2.1 c 3.6 e -1.5 f 4.0 g 3..

更多
loading..
Python, pandas

Python数据分析之Pandas-Series与DataFrame基本功能(一)

重新索引 pandas对象的一个重要方法,其作用是创建一个适应新索引的新对象。 reindex在Series上的应用 In [3]: obj = Series([4.5, 7.2, -5.3, 3.6], index=['d','b','a','c']) In [4]: obj Out[4]: d 4.5 b 7.2 a -5.3 c 3.6 dtype: float64 In [5]: obj2 = reindex(['a', 'b', 'c', 'd', 'e']) In [6]: obj2 = obj.reindex(['a', 'b', 'c', 'd', 'e']) In [7]: obj2 Out[7]: a -5.3 b 7.2 c 3.6 d ..

更多
loading..
Python, Pandas

Python数据分析之Pandas-Series与DataFrame-

在pandas中接下来要经常用到的数据结构就是Series和DataFrame了。这两个对象为大多数数据处理提供了可靠、易于使用的功能 Series Series是由一组数据以及这组数据所对应的数据标签(即索引)组成。 In [66]: obj = Series([4, 7, -5, 3]) In [67]: obj Out[67]: 0 4 1 7 2 -5 3 3 dtype: int64 其中左边的一列数字即为索引,索引默认是0到N-1的数字。 自定义索引 我们可以通过设置index属性来自定义索引的表现形式。 In [68]: obj2 = Series([4, 7, -5, 3],index = ['d','b','a','c']) In [69]: obj2 O..

更多
loading..
基础, NumPY

Python数据分析之Numpy-数组转置与轴对换详解

在数学中,将矩阵的行列互换就称之为转置。那在NumPy数组中也是如此。 NumPy共有三种转置方式**T属性**、transpose方法、swapaxes方法。 T属性 T属性 它比较常用于二维数组,通过行列互换得到一个新的数组,和数学中的转置是一模一样的。 通过转置后得到一个行列互换的新的矩阵: In [170]: arr = np.arange(12).reshape(4,3) In [171]: arr Out[171]: array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]]) In [172]: arr.T Out[172]: array([[ 0, 3, 6, 9]..

更多
loading..
Python, NumPy

Python数据分析之Numpy-基本的索引与切片

NumPy数组的切片与Python中列表的区别在于它的切片是直接对原始数据进行操作,也就是说你做的任何修改都会直接影响到源数据,因为它修改的是内存中的数据。 NumPy数组切片与列表切片的区别 In [36]: arr = np.arange(10) In [37]: arr Out[37]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [38]: arr[3:6] Out[38]: array([3, 4, 5]) In [39]: arr[3:6] = 10 In [40]: arr Out[40]: array([ 0, 1, 2, 10, 10, 10, 6, 7, 8, 9]) In [43]: arr2 = arr #将arr赋..

更多
loading..
Python, NumPy

Python数据分析之Numpy-ndarray及数据类型

NumPy的ndarray ndarray作为NumPy中最重要的特点,你可以利用这个对数组进行数学运算。 下面来看一个简单的例子 In [1]: import numpy as np In [2]: data = [1, 2, 3, 4, 5] # 创建一个普通的数组 In [3]: data2 = np.array(data) # 通过np.array函数把data转为ndarray对象 In [4]: data2 Out[4]: array([1, 2, 3, 4, 5]) In [5]: data Out[5]: [1, 2, 3, 4, 5] # 粗略一看发现没什么特别大的区别 继续往下看 In [6]: data2 * 10 Out[6]: array([10, 20, 30,..

更多
loading..
Python,NumPy

Python数据分析之Numpy---入门安装介绍

NumPy(Numerical Python)是高性能科学计算和数据分析的基础包,主要功能是对N维数组的操作和计算,其计算效率是Python原生包的N倍,在使用Python做数据分析过程中NumPy是我们必不可少的一个工具。 作为一个基础包,功能上远不及pandas来的那么高级(下面会出pandas系列的笔记),但是作为新手入门NumPy还是很值得我们学习一下,为接下来学习pandas打好基础。 准备工作 安装Python环境 如果没有pip环境请参考这篇文章 pip 的简单安装与基本使用 windows 下载NumPy安装包,注意安装包的Python版本和系统版本。例如numpy-1.16.2-cp27-cp27m-manylinux1_x86_64.whl中cp27指的是python2.7版本..

更多
1234