轴的概念

  英文解释  https://www.sharpsightlabs.com/blog/numpy-axes-explained/

  汉化解释 https://www.jianshu.com/p/f4e9407f9f9d

多维数组的索引及切片

  https://blog.csdn.net/brucewong0516/article/details/79186126

  核心  每个维度一个索引值,逗号分割

    每个维度取切片用冒号

    隔行取 需嵌套索引,arr[ [ 1,3,4,5] , : ]

np.newaxis

  给原数组增加一个维度,newaxis放在第几个位置,就会在shape里 相应的位置增加了一个维数

  https://www.jb51.net/article/144967.htm

  

广播机制

  涉及到不同shape的数组运算的时候的概念

  https://www.runoob.com/numpy/numpy-broadcast.html

  https://zhuanlan.zhihu.com/p/60365398

  

  

np.where( condition, [x, y] )

  condition:array_like,bool

  x,y:array_like

  实际上 感觉涉及到的东西很多,比如涉及到了广播。这个应该是个很强大的方法。某种程度上像布尔值索引。

  https://zhuanlan.zhihu.com/p/83208224

  

arr.reshape(1,-1) / np.reshape(-1,1)

  实际就是自动计算的方法。-1代表自动计算,666

  https://blog.csdn.net/W_weiying/article/details/82112337

  

数组的添加 有两个方法 np.insert 和 np.append

np.insert(arr, obj, values, axis=None)

  https://blog.csdn.net/lcxxcl_1234/article/details/80869152

  1 values 可能是个m*1维数组

  

np.append()

  

数组的行列相互交换

  不值一提了

  

np.unique(ar,return_index=False,return_inverse=False,return_counts=False,axis=None)

  最常用的功能是 去重。

  有这几个参数,return_index,return_counts 可能用到的频率比较高。知道有这几参数就行。

  当指定axis后,对多维数组可以使用,不会返回惟一值,而是对指定轴进行排序。

  

np.maximum()

  返回较大值,参数可以广播。完全可以用np.where 实现。可能 广播机制 会用的比较广。

  

np.concatenate()

  与np.stack的区别是 concatenate不改变维度

  

DateFram的切片,索引

  牢记,一定优先用 df.loc[ ]

    df.loc['a':'c','xx':'xxx'] 只有这一种方法,可以取多行多列

    df.loc[['a','d'],['xx','xxxx']]

df.rename()

  用处就是对index,column进行重命名。

  也可以df.index =   df.columns = 直接改。这个方法的好处就是可以对想单独改一个名称比较方便,参数可以是字典。

  

  

df.set_index()

  Set the DataFrame index using existing columns

  可能会有一定的应用场景。原来一列的数值,变为index,对从数据库中读到的数据,把id变为index,这种场景下就能用到了

  

DateFrame 两个df的合并

  df.append(df1)

    

  

  pd.concat( [df1,df2] )

    

  df.dropna()

    这几个参数注意下

    

  df.drop_duplicates

    去重,这几个参数眼熟下

    

  df.fillna()

    添补na数据。熟悉下这几个参数

    

多重索引

  了解下这个方法就够了,切片,索引都差不多

  pd.MultiIndex.from_product([index1,index2])

  

聚合运算

  什么叫聚合函数,聚合函数就是对一组值执行计算,并返回单个值。返回单个值,这是重点!

  g = df.groupby(' ')

    1)这个 g 可以拿来直接聚合 ,g.agg( ) , g.apply( ) ,这里想说的不是这个,而是 g 本身有很多方法。

    通过 for 循环 取 ,或者  g.get_group() 取分组后的结果。

  

  

  

  

    2) groupby( by =)

      by = mapping, function, label, or list of labels,可以接很多参数,最常见的就是dataframe的columns,一个 或多个列表都可以。

      函数也是可以的,只不是是函数的返回值的value值 作为分组的依据,可以是个范围(之前我们看到的都是确定值,比如男,女,省份等)。最好的例子就是 df.groupby(pd.cut(df,[])).count()

      (即groupby可以按照具体的值分类,也可以按照范围分类,具体的值不必多说,说道范围,就想到了pd.cut  )

      

      

  g.agg() 聚合运算,参数比较灵活,可以接列表,字典,懂含义就行。 优点,速度快,缺点,局限性大,只能聚合。聚合接收的参数是每一个列,即series。

  g.apply( func ,* args ) 。 优点,自定义,灵活,缺点,速度慢。接收的参数是dateframe。 这个方法应用的场景很广。  

    参考示例 https://mp.weixin.qq.com/s?src=11&timestamp=1576214730&ver=2031&signature=QI*rOSPpICnGYsUjls9hZXl8R-hZ1lc6UkGniPGdQnFIPd14PAsgM26wNH1fSifvI*vbvKaSzUMempyW96DkE9M0X8ajFOOKgeYmb2b*UcSK48zGYrLrGnM9WXDwT8-F&new=1

时间序列索引

   ts = pd.date_range( )

   这里介绍的是由时间序列作为索引而引申出的两个方法,一个是truncate,一个是between_time,这两个方法的调用者 都是 series或者dataframe,而不是 timeindex。

    

Numpy的补充(重要!!)的更多相关文章

  1. numpy&pandas补充常用示例

    Numpy [数组切片] In [115]: a = np.arange(12).reshape((3,4)) In [116]: a Out[116]: array([[ 0, 1, 2, 3], ...

  2. numpy库补充 mean函数应用

    mean()函数功能:求取均值经常操作的参数为axis,以m * n矩阵举例: axis 不设置值,对 m*n 个数求均值,返回一个实数 axis = 0:压缩行,对各列求均值,返回 1* n 矩阵 ...

  3. Python:numpy.ma模块

    翻译总结自:The numpy.ma module - NumPy v1.21 Manual 前言 ma是Mask的缩写,关于Mask的解释,如果有PS的基础,可以理解为蒙版,如果有计算机网络的基础, ...

  4. 【小白的CFD之旅】05 补充基础

    黄师姐是一个很干脆果敢的人,从她的日常装扮就能显露出来.卡帕运动装,白色运动鞋,马尾辫,这是小白对黄师姐的第一印象.“明天早上九点钟来实验室,我给你安排这阵子的任务.”黄师姐对小白说.说话语气和老蓝一 ...

  5. 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

    http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...

  6. numpy库的常用知识

    为什么有numpy这个库呢?准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2, ...

  7. python numpy 使用笔记 矩阵操作

    (原创文章转载请标注来源) 在学习机器学习的过程中经常会用到矩阵,那么使用numpy扩展包将是不二的选择 建议在平Python中用多维数组(array)代替矩阵(matrix) 入门请考 http:/ ...

  8. 《利用python进行数据分析》NumPy基础:数组和矢量计算 学习笔记

    一.有关NumPy (一)官方解释 NumPy is the fundamental package for scientific computing with Python. It contains ...

  9. [补充资料] 手动搭建 Cloudera 集群

    本课主题 集群搭建 设置 Web 服务器 启动 ClouderManager 登入 Cloudera Manager 引言 这部份是一个补充资料,记录如何安装 Cloudera 服务器 集群搭建 查看 ...

随机推荐

  1. Redis5新特性

    Redis5.0的12个新特性 1.数据类型Stream 本质上是一个消费者等待生产者发送新的数据 使用情景 其他五种数据结构无法实现的需求,可以通过stream来实现 直接贴近业务需求,提升开发效率 ...

  2. rest_framework框架的基本组件

    快速实例 Quickstart 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式. ...

  3. Java并发——线程间通信与同步技术

    传统的线程间通信与同步技术为Object上的wait().notify().notifyAll()等方法,Java在显示锁上增加了Condition对象,该对象也可以实现线程间通信与同步.本文会介绍有 ...

  4. php内置函数分析之array_column()

    PHP_FUNCTION(array_column) { zval *zcolumn = NULL, *zkey = NULL, *data; HashTable *arr_hash; zval *z ...

  5. RAC heartbeat 心跳机制

    世界上最遥远的距离,不是生与死.而是我们同一个集群的两个节点,你却听不到我的心跳. 必要性:维持集群的⼀致性RAC⼼跳机制 – 集群⼼跳基本机制:1.确定节点和节点间的连通性,达到彼此了解2.⽤共享的 ...

  6. 用电脑Python控制Arduino

    python指令: import serial #导入串口通讯库 import time ser=serial.Serial("com4",9600,timeout=1) demo ...

  7. HTTP教程

    适合人群 本教程已为计算机学科毕业生和Web开发人员准备,帮助他们了解与超文本传输​​协议(HTTP)相关的基本到高级概念. 预备知识 在继续本教程之前,最好对Web概念,Web浏览器,Web服务器, ...

  8. 最大 k 乘积问题 ( 经典区间DP )

    题意 : 设 NUM 是一个 n 位十进制整数.如果将 NUM 划分为 k 段,则可得到 k 个整数.这 k 个整数的乘积称为 NUM 的一个 k 乘积.试设计一个算法,对于给定的 NUM 和 k,求 ...

  9. #431 Div2 Problem B Tell Your World (鸽巢原理 && 思维)

    链接 : http://codeforces.com/contest/849/problem/B 题意 : 给出 n 个在直角坐标系上的点,每个点的横坐标的值对应给出的顺序序数,比如 1 2 4 3 ...

  10. MySQL Schedule Event

    建立事件历史日志表-- 用于查看事件执行时间等信息create table t_event_history  (     dbname  varchar(128) not null default ' ...