Pandas&Numpy
I天辉I
专注于Python相关的量化投资
展开
-
Pandas_数据重构stack
import numpy as npimport pandas as pd12stack将行索引旋转为列索引,完成层级索引。下面例子中,先创建一盒5 × 2 的DataFrame。然后对它进行stack,于是原来的行索引变成了外层索引,原来的列索引变成了内层索引了。df_obj = pd.DataFrame(np.random.randint(0,10, (5转载 2017-12-17 16:34:48 · 588 阅读 · 0 评论 -
Pandas的 loc iloc ix 区别
[python] view plain copyimport pandas as pd data = [[1,2,3],[4,5,6]] index = [0,1] columns=['a','b','c'] df = pd.DataFrame(data=data, index=index, columns=columns)转载 2018-01-10 17:29:47 · 461 阅读 · 0 评论 -
python sort、sort_index方法(排序)
对Series进行排序#生成序列objobj=pd.Series([4,9,6,20,4],index=['d','a','e','b','c'])d 4a 9e 6b 20c 4dtype: int64#按obj的索引排序,默认升序,降序可在括号加ascending=Falseobj.sort_index()a 9b转载 2018-01-10 17:46:30 · 1882 阅读 · 0 评论 -
DataFrame的reset_index函数
reset_index函数功能:示例:In [1]: dfOut[1]: 0 1 2 3 40 -0.127085 -0.538321 0.641609 -0.020957 0.0035031 -0.304994 0.157213 0.586962 0.251505 1.0224182 -0.2...转载 2018-02-22 14:40:36 · 4142 阅读 · 0 评论 -
numpy.argmax()
numpy.argmax(a, axis=None, out=None) 返回沿轴axis最大值的索引。Parameters: a : array_like 数组 axis : int, 可选 默认情况下,索引的是平铺的数组,否则沿指定的轴。 out : array, 可选 如果提供,结果以合适的形状和类型被插入到此数组中。 Returns: index_array : ndarray of in...转载 2018-04-03 14:51:48 · 264 阅读 · 0 评论 -
np.max 与 np.maximum
1. 参数首先比较二者的参数部分:np.max:(a, axis=None, out=None, keepdims=False) 求序列的最值最少接收一个参数axis:默认为列向(也即 axis=0),axis = 1 时为行方向的最值;np.maximum:(X, Y, out=None) X 与 Y 逐位比较取其大者;最少接收两个参数2. 使用上>> np.max([-2, -1,...转载 2018-04-03 15:01:27 · 625 阅读 · 0 评论 -
isin 筛选数据及df.sort_values属性应用
1.在pandas的DataFrame中,我们经常需要根据某属性来选取指定条件的行,这时isin方法就特别有效。[python] view plain copyimport pandas as pd df = pd.DataFrame([[1,2,3],[1,3,4],[2,4,3]],index = ['one','two','three'],columns = ['A','B','C']) ...转载 2018-04-03 15:41:00 · 1576 阅读 · 0 评论 -
根据DataFrame某一列的值来选择具体的某一行
原始数据的DF:此时,我要选择列名isInfected为“手足口病”的样本行:总结:选择DataFrame里面某一列等于某个值的所有行,用一条命令即可解决即:df.loc[df['columnName']=='the value']...转载 2018-05-02 16:54:12 · 6645 阅读 · 0 评论 -
整理pandas操作
整理pandas操作本文原创,转载请标识出处: http://www.cnblogs.com/xiaoxuebiye/p/7223774.html导入数据:pd.read_csv(filename):从CSV文件导入数据pd.read_table(filename):从限定分隔符的文本文件导入数据pd.read_excel(filename):从Excel文件导入数据pd.read_sql(...转载 2018-05-03 15:59:41 · 564 阅读 · 0 评论 -
python在pandas.DataFrame添加一行
from pandas import * from random import * df = DataFrame(columns=('lib', 'qty1', 'qty2'))#生成空的pandas表 for i in range(5):#插入一行<span id="transmark" style="display:none;"></span> df.l...转载 2018-05-03 13:25:44 · 5595 阅读 · 0 评论 -
DataFrame的排序和排名
Python是目前最流行最简单用途最广泛的编程语言,大数据时代最应该学习的一门编程语言。其中,数据分析的库pandas是Python最经典的库之一。现在我们看一下DataFrame的排序和排名方法的使用例子。工具/原料pythonanaconda,spyderDataFrame方法/步骤前提:加载numpy,pandas和Series,DataFrame。生成一个DataFrame,指定索引,具体...转载 2018-05-03 14:03:54 · 4379 阅读 · 0 评论 -
pandas.DataFrame.fillna 的几种method
根据官方文档,我们知道fillna有一下几种method:‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None;那么每一种method都是起什么样的作用呢?method : {‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None}, default NoneMethod to use for filli转载 2018-01-10 17:14:49 · 2182 阅读 · 0 评论 -
Python对多属性的重复数据去重
python中的pandas模块中对重复数据去重步骤:1)利用DataFrame中的duplicated方法返回一个布尔型的Series,显示各行是否有重复行,没有重复行显示为FALSE,有重复行显示为TRUE;2)再利用DataFrame中的drop_duplicates方法用于返回一个移除了重复行的DataFrame。注释:如果duplicated方转载 2018-01-10 14:18:19 · 1610 阅读 · 0 评论 -
numpy常用函数之randn
numpy中有一些常用的用来产生随机数的函数,randn就是其中一个,randn函数位于numpy.random中,函数原型如下:numpy.random.randn(d0, d1, ..., dn)这个函数的作用就是从标准正态分布中返回一个或多个样本值。什么是标准正态分布,大哥,你别吓我,上过高中吗?标准正态分布俗称高斯分布,正态分布是大自然中最常见的分布,标准正态分布就是期望为0,转载 2017-12-17 18:31:10 · 1123 阅读 · 0 评论 -
np.dot函数
dot函数是np中的矩阵乘法,x.dot(y) 等价于 np.dot(x,y)x是m*n 矩阵 ,y是n*m矩阵则x.dot(y) 得到m*m矩阵 矩阵乘法的应用实例如下: 数据统计某公司有四个工厂,分布在不同地区,同时三种产品,产量(单位;t),试用矩阵统计这些数据。工厂\产品P1P2转载 2017-12-17 19:07:07 · 1999 阅读 · 0 评论 -
cumsum cumprod prod函数的用法
函数功能matlab中cumsum函数通常用于计算一个数组各行的累加值。在matlab的命令窗口中输入doc cumsum或者help cumsum即可获得该函数的帮助信息。调用格式及说明格式一:B = cumsum(A)这种用法返回数组不同维数的累加和。为了便于接下来的叙述,解释一下matlab中矩阵、数组、向量的概念:首先,mat转载 2018-01-15 11:23:13 · 3239 阅读 · 0 评论 -
numpy ix_ 学习记录
官网上给出的例子>>> a = np.arange(10).reshape(2, 5) >>>a array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]) >>>ixgrid = np.ix_([0, 1], [2, 4]) >>>ixgrid (array([[0], [1]]), array([[2, 4]])) #也就是说转载 2017-12-30 14:50:17 · 648 阅读 · 0 评论 -
Python 中的几种矩阵乘法 np.dot, np.multiply, *
1. 同线性代数中矩阵乘法的定义: np.dot()np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。见如下Python代码:import numpy as np# 2-D array: 2 x 3two_dim_matrix_one = np.array([[1, 2, 3], [4, 5, 6]])#转载 2017-12-30 15:12:19 · 421 阅读 · 0 评论 -
Numpy中的transpose函数
transpose()的操作对象是矩阵。我们用一个例子来说明这个函数: [[[0 1] [2 3]][[4 5] [6 7]]]这是一个shape为(2,2,2)的矩阵,现在对它进行transpose操作。 首先我们对矩阵的维度进行编号,上述矩阵有三个维度,则编号分别为0,1,2,而transpose函数的参数输入就是基于这个编号的,如果我们调用transp转载 2017-12-30 15:25:43 · 573 阅读 · 0 评论 -
numpy中meshgrid的使用
meshgrid函数通常在数据的矢量化上使用,但是使用的方法我暂时还不是很明确。而meshgrid的作用适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。接下来通过简单的shell交互来演示一下这个功能的使用,并做一下小结。 交互显示:In [65]: xnums =np.arange(4) In [66]:转载 2017-12-30 16:47:42 · 348 阅读 · 0 评论 -
pandas.DataFrame.drop_duplicates后面inplace=True与inplace=False的区别
drop_duplicates(inplace=True)是直接对原dataFrame进行操作。如:t.drop_duplicates(inplace=True) 则,对t中重复将被去除。drop_duplicates(inplace=False)将不改变原来的dataFrame,而将结果生成在一个新的dataFrame中。如:s = t.drop_duplicates(inplace=Fal转载 2018-01-15 14:31:21 · 3667 阅读 · 0 评论 -
Pandas之drop_duplicates:去除重复项
方法DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)1参数这个drop_duplicate方法是对DataFrame格式的数据,去除特定列下面的重复行。返回DataFrame格式的数据。subset : column label or sequence of labels, opt转载 2018-01-15 14:43:42 · 1702 阅读 · 0 评论 -
Python Pandas与Numpy中axis参数的二义性
Stackoverflow.com是程序员的好去处,本公众号将以pandas为主题,开始一个系列,争取做到每周一篇,翻译并帮助pandas学习者一起理解一些有代表性的案例。今天的主题就是Pandas与Numpy中一个非常重要的参数:axis.(轴)Stackoverflow问题如下:python中的axis究竟是如何定义的呢?他们究竟代表是DataFrame的行还是列?考虑以下代码转载 2018-01-17 18:21:31 · 343 阅读 · 0 评论 -
Python 数据处理扩展包: pandas 模块的DataFrame介绍(创建和基本操作)
DataFrame是Pandas中的一个表结构的数据结构,包括三部分信息,表头(列的名称),表的内容(二维矩阵),索引(每行一个唯一的标记)。一、DataFrame的创建有多种方式可以创建DataFrame,下面举例介绍。例1: 通过list创建>>> import pandas as pd>>> df = pd.DataFrame([[1,2,3],[4,5...转载 2018-05-03 16:47:11 · 495 阅读 · 0 评论 -
TuShare(3):使用pandas 压缩存储hdf5文件
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/51025044 未经博主允许不得转载。 博主地址是:http://blog.csdn.net/freewebsys1,使用压缩hdf5在存储的是支持压缩,使用的方式是blosc,这个是速度最快的也是pandas默认支持的。 使用压缩可以提磁盘利用率,节省空间。 开启压缩也没有什么劣...转载 2018-05-17 10:45:01 · 1943 阅读 · 0 评论 -
给numpy矩阵添加一列
首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵 import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]]) b = np.ones(3) c = np.array([[1,2,3,1],[4,5,6,1],[7,8,9,1]]) ...转载 2018-09-17 17:49:30 · 198 阅读 · 0 评论 -
numpy.full
参考:https://docs.scipy.org/doc/numpy/reference/generated/numpy.full.htmlimport numpy as npa = np.full((2, 2), np.inf)b = np.full((2, 2), 10)print(a)print(b) [[ inf inf] [ inf inf]][[10 ...原创 2018-09-17 17:50:54 · 344 阅读 · 0 评论 -
【python】详解pandas df.where函数 以及 去掉特殊值的某行或者某列
- 1、首先直接看文档:data.where(cond, other=nan, inplace=False, axis=None, level=None, errors=’raise’, try_cast=False, raise_on_error=None)Docstring:Return an object of same shape as self and whose corres...转载 2018-09-17 18:50:56 · 3942 阅读 · 0 评论 -
【python】numpy库ndarray多维数组的的运算:np.abs(x)、np.sqrt(x)、np.modf(x)等
numpy库提供非常便捷的数组运算,方便数据的处理。1、数组与标量之间可直接进行运算In [45]: aOut[45]:array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])In [46]: a/5Out[46]:array([[ 0. , 0.2, 0.4, 0.6], ...转载 2018-09-10 18:06:57 · 11473 阅读 · 0 评论 -
pandas库简介(1)--pandas的三种数据结构
/****************持续更新中**************************/pandas有三种数据结构形式,分别是Series,DataFrame和索引对象。1.SeriesSeries和一维数组很像,只是它的每一个值都有一个索引,输出显示时索引在左,值在右。如果语言无法清晰表达,不妨看段代码,毕竟talk is cheap,show me your code...转载 2018-10-10 23:17:29 · 494 阅读 · 0 评论 -
numpy下的flatten()函数用法
flatten是numpy.ndarray.flatten的一个函数,其官方文档是这样描述的:ndarray.flatten(order='C')Return a copy of the array collapsed into one dimension.Parameters: order : {‘C’, ‘F’, ‘A’, ‘K’}, optional ...转载 2019-02-21 15:48:31 · 323 阅读 · 0 评论 -
np.concatenate函数
numpy.concatenate((a1, a2, ...), axis=0)Join a sequence of arrays along an existing axis.(按轴axis连接array组成一个新的array)The arrays must have the same shape, except in the dimension corresponding to axi...转载 2019-02-24 15:01:52 · 65006 阅读 · 5 评论 -
python 之 np.random.choice()
用法:np.random.choice(a, size=None, replace=True, p=None)返回:从一维array a 或 int 数字a 中,以概率p随机选取大小为size的数据,replace表示是否重用元素,即抽取出来的数据是否放回原数组中,默认为true(抽取出来的数据有重复)#在(0,5)区间内生成含5个数据的一维数组>>a = np.random...转载 2019-03-16 18:47:32 · 1444 阅读 · 0 评论 -
Python学习--个人理解numpy的cumsum函数
Cumsum :计算轴向元素累加和,返回由中间结果组成的数组重点就是返回值是“由中间结果组成的数组”以下代码在python3.6版本运行成功!下面看代码,定义一个2*2*3的数组,所以其shape是2,2,3,索引分别0,1,2shape 索引2 02 13 2代码:import numpy as nparr= np.array([[[1,2,3],...转载 2019-03-29 18:25:33 · 605 阅读 · 0 评论 -
numpy基础教程之np.linalg
前言numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。本文讲给大家介绍关于numpy基础之 np.linalg的相关内容,下面话不多说了,来一起看看详细的介绍吧(1)np.linalg.inv():矩阵求逆(2)np.linalg.det():矩阵求行列式(标量)np.linalg.norm顾名思义,linal...转载 2019-04-05 13:51:30 · 1197 阅读 · 0 评论 -
Pandas中resample方法详解
Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。方法的格式是:DataFrame.resample(rule, how=None, axis=0, fill_method=None, closed=None, label=None, convention='start',kind=None, loffse...转载 2018-08-30 14:24:58 · 3859 阅读 · 0 评论 -
Python 基础——range() 与 np.arange()
range()返回的是range object,而np.nrange()返回的是numpy.ndarray() range尽可用于迭代,而np.nrange作用远不止于此,它是一个序列,可被当做向量使用。 range()不支持步长为小数,np.arange()支持步长为小数 两者都可用于迭代 两者都有三个参数,以第一个参数为起点,第三个参数为步长,截止到第二个参数...转载 2018-08-24 16:20:48 · 1024 阅读 · 0 评论 -
大数据的表:PyTables
pandas集成了存储和操作大数据的表:PyTables可以把大数据直接写入本地硬盘而并不使用任何数据库管理软件和SQL:import pandas.io.pytables看一个例子:store = HDFStore('store.h5') store #输出结果<class 'pandas.io.pytables.HDFStore'>File path: store...转载 2018-05-17 13:11:37 · 2421 阅读 · 0 评论 -
[Python] Pandas之sort_values isin使用技巧
1.在pandas的DataFrame中,我们经常需要根据某属性来选取指定条件的行,这时isin方法就特别有效。[python] view plain copyimport pandas as pd df = pd.DataFrame([[1,2,3],[1,3,4],[2,4,3]],index = ['one','two','three'],columns = ['A','B','C']) ...转载 2018-05-25 14:41:30 · 949 阅读 · 0 评论 -
Pandas 下标存取操作
Pandas对数据的获取封装了大量的方法,主要包括.loc[], .iloc[], .at[], iat[], .ix[]以及[]操作符, 下面例子主要是展示了如何使用它们。df = pd.DataFrame(data=[['Alice', 'girl', 18, 171], ['Bob', 'boy', 19, 172], ...转载 2018-05-28 14:55:01 · 2883 阅读 · 0 评论