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. session会话管理

    session会话和cookie一起被称为会话跟踪技术,主要通过保存在服务器端的session数据和客户端浏览器的cookie数据共同完成用户访问服务器的足迹记录. 1. 什么是会话 会话sessio ...

  2. APP内置react 应用与APP的交互问题

    一.内置的H5应用唤起(返回)app 可以用 intent url 来唤起,但要求 webview 实现 shouldOverrideUrlLoading() ,解析 uri,找到对应的 activi ...

  3. kingpin_parser.go

    ) } //字节大小设置 func Size(s kingpin.Settings) (target *uint64) {     target = new(uint64)     s.SetValu ...

  4. BZOJ_3048_[Usaco2013 Jan]Cow Lineup _双指针

    BZOJ_3048_[Usaco2013 Jan]Cow Lineup _双指针 Description Farmer John's N cows (1 <= N <= 100,000) ...

  5. Python 视频转字符画 - 进阶

    这篇文章是 视频转字符动画-Python-60行代码 的后续,如果感兴趣,请先看看它. 1. 速度优化 要是每次播放都要等个一分钟,也太痛苦了一点. 所以可以用 pickle 模块把 video_ch ...

  6. python+appium 查找某个元素find_element()并click()点击,正向判断与反判断的方法封装

    使用场景: 在自动化测试过程中,难免会用到反判断,包括异常情况的处理,比如:find_element_by_name('测试') 判断"测试"是否存在,存在则点击,不存在则执行其他 ...

  7. RabbitMQ windows本地安装

    1: 安装RabbitMQ需要先安装Erlang语言开发包.下载地址 http://www.erlang.org/download.html 配置环境变量 ERLANG_HOME C:\Program ...

  8. Java调用Javascript、Python算法总结

    最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...

  9. C#-Xamarin的Android项目开发(二)——控件应用

    相信我,这不是一篇吐槽文章.... 基础控件 Android的控件和控件样式非常特别,它是一种内联特别高的设计模式,换句话说,它是非常烂的设计.... 但在这种特别的关系里还是有一定的规律的,下面我们 ...

  10. Docker 快速开始

    1.  概念 对于开发人员和系统管理员来说,Docker是一个使用容器开发.部署和运行应用程序的平台.使用Linux容器部署应用程序称为容器化.容器并不新鲜,但是将它们用于轻松部署应用程序却很新鲜. ...