Numpy的补充(重要!!)
轴的概念
英文解释 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。 这个方法应用的场景很广。
时间序列索引
ts = pd.date_range( )
这里介绍的是由时间序列作为索引而引申出的两个方法,一个是truncate,一个是between_time,这两个方法的调用者 都是 series或者dataframe,而不是 timeindex。
Numpy的补充(重要!!)的更多相关文章
- numpy&pandas补充常用示例
Numpy [数组切片] In [115]: a = np.arange(12).reshape((3,4)) In [116]: a Out[116]: array([[ 0, 1, 2, 3], ...
- numpy库补充 mean函数应用
mean()函数功能:求取均值经常操作的参数为axis,以m * n矩阵举例: axis 不设置值,对 m*n 个数求均值,返回一个实数 axis = 0:压缩行,对各列求均值,返回 1* n 矩阵 ...
- Python:numpy.ma模块
翻译总结自:The numpy.ma module - NumPy v1.21 Manual 前言 ma是Mask的缩写,关于Mask的解释,如果有PS的基础,可以理解为蒙版,如果有计算机网络的基础, ...
- 【小白的CFD之旅】05 补充基础
黄师姐是一个很干脆果敢的人,从她的日常装扮就能显露出来.卡帕运动装,白色运动鞋,马尾辫,这是小白对黄师姐的第一印象.“明天早上九点钟来实验室,我给你安排这阵子的任务.”黄师姐对小白说.说话语气和老蓝一 ...
- 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...
- numpy库的常用知识
为什么有numpy这个库呢?准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2, ...
- python numpy 使用笔记 矩阵操作
(原创文章转载请标注来源) 在学习机器学习的过程中经常会用到矩阵,那么使用numpy扩展包将是不二的选择 建议在平Python中用多维数组(array)代替矩阵(matrix) 入门请考 http:/ ...
- 《利用python进行数据分析》NumPy基础:数组和矢量计算 学习笔记
一.有关NumPy (一)官方解释 NumPy is the fundamental package for scientific computing with Python. It contains ...
- [补充资料] 手动搭建 Cloudera 集群
本课主题 集群搭建 设置 Web 服务器 启动 ClouderManager 登入 Cloudera Manager 引言 这部份是一个补充资料,记录如何安装 Cloudera 服务器 集群搭建 查看 ...
随机推荐
- Redis5新特性
Redis5.0的12个新特性 1.数据类型Stream 本质上是一个消费者等待生产者发送新的数据 使用情景 其他五种数据结构无法实现的需求,可以通过stream来实现 直接贴近业务需求,提升开发效率 ...
- rest_framework框架的基本组件
快速实例 Quickstart 序列化 创建一个序列化类 简单使用 开发我们的Web API的第一件事是为我们的Web API提供一种将代码片段实例序列化和反序列化为诸如json之类的表示形式的方式. ...
- Java并发——线程间通信与同步技术
传统的线程间通信与同步技术为Object上的wait().notify().notifyAll()等方法,Java在显示锁上增加了Condition对象,该对象也可以实现线程间通信与同步.本文会介绍有 ...
- php内置函数分析之array_column()
PHP_FUNCTION(array_column) { zval *zcolumn = NULL, *zkey = NULL, *data; HashTable *arr_hash; zval *z ...
- RAC heartbeat 心跳机制
世界上最遥远的距离,不是生与死.而是我们同一个集群的两个节点,你却听不到我的心跳. 必要性:维持集群的⼀致性RAC⼼跳机制 – 集群⼼跳基本机制:1.确定节点和节点间的连通性,达到彼此了解2.⽤共享的 ...
- 用电脑Python控制Arduino
python指令: import serial #导入串口通讯库 import time ser=serial.Serial("com4",9600,timeout=1) demo ...
- HTTP教程
适合人群 本教程已为计算机学科毕业生和Web开发人员准备,帮助他们了解与超文本传输协议(HTTP)相关的基本到高级概念. 预备知识 在继续本教程之前,最好对Web概念,Web浏览器,Web服务器, ...
- 最大 k 乘积问题 ( 经典区间DP )
题意 : 设 NUM 是一个 n 位十进制整数.如果将 NUM 划分为 k 段,则可得到 k 个整数.这 k 个整数的乘积称为 NUM 的一个 k 乘积.试设计一个算法,对于给定的 NUM 和 k,求 ...
- #431 Div2 Problem B Tell Your World (鸽巢原理 && 思维)
链接 : http://codeforces.com/contest/849/problem/B 题意 : 给出 n 个在直角坐标系上的点,每个点的横坐标的值对应给出的顺序序数,比如 1 2 4 3 ...
- MySQL Schedule Event
建立事件历史日志表-- 用于查看事件执行时间等信息create table t_event_history ( dbname varchar(128) not null default ' ...