python中使用了numpy的一些操作,特此记录下来:

生成矩阵,替换值

import numpy as np
# 生成一行10列的矩阵
dataset = np.zeros((1, 10))
# 将位置为2的值替换为1
dataset.itemset(2, 1)

得到结果为:

[[0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]]

where查找

import numpy as np
dataset = np.array([1, 2, 3, 2, 3, 4, 4, 5, 6])
# 找到值等于2的值的下标
dataset = np.where(dataset == 2)
print(dataset) dataset = np.array([1, 2, 3, 2, 3, 4, 4, 5, 6])
index = np.argwhere(dataset == 2)
print(index)

得到结果为:

(array([1, 3], dtype=int64),)

[[1]
[3]]

增加一行或一列

import numpy as np
dataset = np.array([[1, 2, 3], [2, 3, 4], [4, 5, 6]])
# 增加行
a = np.row_stack((dataset, [8,9,10]))
print(a) # 增加列
b = np.column_stack((dataset, [8,9,10]))
print(b)

得到结果为:

[[ 1  2  3]
[ 2 3 4]
[ 4 5 6]
[ 8 9 10]] [[ 1 2 3 8]
[ 2 3 4 9]
[ 4 5 6 10]]

按行合并,按列合并

import numpy as np
dataset = np.array([[1, 2, 3], [2, 3, 4], [4, 5, 6]])
# 按行合并
dataset = np.append(dataset, [[8, 9, 10]], axis=0)
print(dataset) dataset = np.array([[1, 2, 3], [2, 3, 4], [4, 5, 6]])
# 按列合并
dataset = np.append(dataset, [[8], [9], [10]], axis=1)
print(dataset)

得到结果为:

[[ 1  2  3]
[ 2 3 4]
[ 4 5 6]
[ 8 9 10]] [[ 1 2 3 8]
[ 2 3 4 9]
[ 4 5 6 10]]

删除行、列

import numpy as np
dataset = np.array([[1, 2, 3], [2, 3, 4], [4, 5, 6]])
# 删除第1、2行(0、1、2)
dataset = np.delete(dataset, [1, 2], axis=0)
print(dataset) dataset = np.array([[1, 2, 3], [2, 3, 4], [4, 5, 6]])
# 删除第1、2列(0、1、2)
dataset = np.delete(dataset, [1, 2], axis=1)
print(dataset)

得到结果为:

[[1 2 3]]

[[1]
[2]
[4]]

ndarray转dataframe

import numpy as np
import pandas as pd dataset = np.array([[1, 2, 3], [2, 3, 4], [4, 5, 6]])
dataframe = pd.DataFrame(dataset, index=("row1", "row2", "row3"), columns=("col1", "col2", "col3"))
print(dataframe)

得到结果为:

      col1  col2  col3
row1 1 2 3
row2 2 3 4
row3 4 5 6

numpy操作的更多相关文章

  1. Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像

    前文传送门: 「Python 图像处理 OpenCV (1):入门」 普通操作 1. 读取像素 读取像素可以通过行坐标和列坐标来进行访问,灰度图像直接返回灰度值,彩色图像则返回B.G.R三个分量. 需 ...

  2. 四 numpy操作数组输出图片

    一.读取一张图片,修改颜色通道后输出 # -*- coding=GBK -*- import cv2 as cv import numpy as np #numpy数组操作 def access_pi ...

  3. Python数据分析之Numpy操作大全

    从头到尾都是手码的,文中的所有示例也都是在Pycharm中运行过的,自己整理笔记的最大好处在于可以按照自己的思路来构建矿建,等到将来在需要的时候能够以最快的速度看懂并应用=_= 注:为方便表述,本章设 ...

  4. Numpy 操作

    一.Numpy 属性 # 列表转化为矩阵 In []: arr = np.array([[,,],[,,]]) In []: arr Out[]: array([[, , ], [, , ]]) 1, ...

  5. Numpy 学习之路(1)——数组的创建

    数组是Numpy操作的主要对象,也是python数据分析的主要对象,本系列文章是本人在学习Numpy中的笔记. 文章中以下都基于以下方式的numpy导入: import numpy as np fro ...

  6. Python之Numpy详细教程

    NumPy - 简介 NumPy 是一个 Python 包. 它代表 “Numeric Python”. 它是一个由多维数组对象和用于处理数组的例程集合组成的库. Numeric,即 NumPy 的前 ...

  7. print( "Hello,NumPy!" )

    print( "Hello,NumPy!" ) 学习痛苦啊,今天学,明天丢.这种天气,还是睡觉最舒服了. 咱说归说,闹归闹,但还是得学才行啊. 之前在学习的过程中一直都有记录笔记的 ...

  8. numpy最后一部分及pandas初识

    今日内容概要 numpy剩余的知识点 pandas模块 今日内容详细 二元函数 加 add 减 sub 乘 mul 除 div 平方 power 数学统计方法 sum 求和 cumsum 累计求和 m ...

  9. [译]学习IPython进行交互式计算和数据可视化(四)

    第三章 使用Python进行数字计算 尽管IPython强大的shell和扩展后的控制台能被任何Python程序员使用,但是这个工具最初是科学奖为科学家设计的.它的主要设计目标就是为使用Python进 ...

随机推荐

  1. 查找linux设备的uuid

    [root@ ~]# blkid /dev/vdc /dev/vdc: UUID="bxxxx-xxx-41b9-8146-7da8bd645b92" TYPE="ext ...

  2. nrpe参数传递

    如果需要nrpe进行参数传递需要主要一下几个方面: 1.编译nrpe的时候需要增加参数--enable-command-args 2.修改nrpe.cfg文件中参数dont_blame_nrpe=1 ...

  3. BZOJ_3307_雨天的尾巴_线段树合并+树上差分

    BZOJ_3307_雨天的尾巴_线段树合并 Description N个点,形成一个树状结构.有M次发放,每次选择两个点x,y 对于x到y的路径上(含x,y)每个点发一袋Z类型的物品.完成 所有发放后 ...

  4. BZOJ_4818_[Sdoi2017]序列计数_矩阵乘法

    BZOJ_4818_[Sdoi2017]序列计数_矩阵乘法 Description Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ...

  5. Java中的异常简介

    Java中异常的分类 Java中的异常机制是针对正常运行程序的一个必要补充,一般来说没有加入异常机制,程序也能正常运营,但是,由于入参.程序逻辑的严谨度,总会有期望之外的结果生成,因此加入异常机制的补 ...

  6. Mock接口平台Moco学习

    Mock就是模拟接口的.本文学习Mock的 Moco开源框架. Moco源码和jar下载地址: git  jar  下载moco-runner-xxxx-standalone.jar moco的启动及 ...

  7. 广州三本找Java实习经历

    前言 只有光头才能变强 这阵子跑去面试Java实习生啦~~~我来简单介绍一下背景吧. 广州三本大三在读,在广州找实习.大学开始接触编程,一个非常平庸的人. 在学习编程时,跟我类似的人应该会有一个疑问: ...

  8. Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库

    前言     在 .Net Core 2.2中 Microsoft.AspNetCore.App 默认内置了EntityFramework Core 包,所以在使用过程中,我们无需再从 NuGet 仓 ...

  9. 使用docker-compose 一键部署你的分布式调用链跟踪框架skywalking

    一旦你的程序docker化之后,你会遇到各种问题,比如原来采用的本地记日志的方式就不再方便了,虽然你可以挂载到宿主机,但你使用 --scale 的话,会导致 记录日志异常,所以最好的方式还是要做日志中 ...

  10. vue安装jquery和配置(不需要在页面引入直接可以使用)

    首先在命令行工具上输入 npm install jquery --save-dev 安装完成之后在build文件夹下的webpack.base.conf.js进行配置,在顶部添加:const webp ...