python中numpy二维数组数据删除行和列

一、函数

np.delete(array,obj,axis)

二、函数的意思

array:需要处理的矩阵

obj:需要处理的位置,比如要删除的第一行或者第一行和第二行

axis:

如果输入为None:array会先按行展开,然后按照obj,删除第obj-1(从0开始)位置的数,返回一个行矩阵。

如果输入为0:按行删除

如果输入为1:按列删除

import numpy as np

x=np.array[[1,2,3],[4,5,6],[7,8,9]]

1、输入为None

a_1 = np.delete(a,2,None)
删除后结果:[1,2,4,5,6,7,8,9]
  • 二维数组删除单行
x=np.delete(x,1,axis=0)
删除后结果:x=[[1,2,3],[7,8,9]]
  • 二维数组删除多行
x=np.delete(x,[0,1],axis=0)
删除后结果:x=[[7,8,9]]
  • 二维数组删除单列
x=np.delete(x,1,axis=1)
删除后结果:x=[[1,3],[4,6],[7,9]]
  • 二维数组删除多列
x=np.delete(x,[0,1],axis=1)
删除后结果:x=[[3],[6],[9]]

注意:np.delete()返回的结果的数据类型是’numpy.ndarray’(数组),如果列表需要先删除行再删除列,需要将删除行后的数组转换成列表,例如:

    table_list = np.delete(table_list, 0, axis=0)
    table_list = list(table_list)
    table_list = np.delete(table_list, [1, 2], axis=1)

Original: https://blog.csdn.net/qq_38362419/article/details/115464913
Author: Yu_摆摆
Title: python中numpy二维数组数据删除行和列



相关阅读

Title: 在开发环境中使用服务发现

使用 Docker Compose 模拟 Zookeeper 集群

实现服务发现的方法有很多种,其中较为常见的一种是利用分布式注册中心,解决服务之间协调的问题。

[En]

There are many ways to realize service discovery, one of which is to use distributed registry to solve the problem of coordination between services.

在众多注册中心应用中,Zookeeper 是较为常见和常用的一款程序,这里我们就以 Zookeeper 为例,介绍如何使用 Docker 搭建 Zookeeper 的运行环境。

由于 Zookeeper 的运行并不需要太多的关注配置和调整,这里我们就以最基础的形式来设计 Docker Compose 项目的结构。

└─ project   ├─ bin   │  └─ compose.sh   └─ compose      └─ docker-compose.yml​

为了方便日常操作,我们依然编写了

很多读者会问到一个问题,怎么样才能通过 Docker 的虚拟化技术实现在一个机器上模拟出多台机器的效果。或者说一个我们这里会涉及的具体问题,如何只用一个 Docker 来模拟一个高可用的 Zookeeper 集群。

我们知道,要实现 Zookeeper 的高可用,至少需要三个 Zookeeper 节点进行协作,所以这里我们用三个单独的 Docker Compose 服务定义来分别定义这三个节点。

version: '3'​services:​  zk1:    image: zookeeper:3.4    restart: always    hostname: zk1    environment:      ZOO_MY_ID: 1      ZOO_SERVERS: server.1=0.0.0.0:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888    ports:      - 2181:2181​  zk2:    image: zookeeper:3.4    restart: always    hostname: zk2    environment:      ZOO_MY_ID: 2      ZOO_SERVERS: server.1=zk1:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zk3:2888:3888    ports:      - 2182:2181​  zk3:    image: zookeeper:3.4    restart: always    hostname: zk3    environment:      ZOO_MY_ID: 3      ZOO_SERVERS: server.1=zk1:2888:3888 server.2=zk2:2888:3888 server.3=0.0.0.0:2888:3888    ports:      - 2183:2181​

在这个 Docker Compose 项目中,我们定义的三个 Zookeeper 服务都直接使用了官方制作的 zookeeper 镜像。

在这个镜像里,我们可以留意定制 ZOO _MY _ID 和 ZOO _SERVERS 这两个环境变量。这两个变量主要是用来识别 Zookeeper 集群中不同 Zookeeper 程序的。

其中 ZOO _MY _ID 是 Zookeeper 在集群中的编号,而 ZOO _SERVERS 用来定义集群中的所有 Zookeeper 及它们的连接方式。

我们以 zk1 这个服务为例来解释一下 ZOO _SERVERS 的定义方法。

server.1=0.0.0.0:2888:3888 server.2=zk2:2888:3888 server.3=zk3:2888:3888​

我们可以在 ZOO _SERVERS 中定义所有处于 Zookeeper 集群中的程序,通过空格来间隔它们。而每个服务的的定义形式为 server.[id]=[host]:[port]:[port],所以就有了上面例子中我们看到的样子。

在这个例子里,我们描述了三个 Zookeeper 程序的连接地址。

由于每个容器都有独立的端口表,所以即使这些程序都运行在一个主机里,我们依然不需要担心,它们会造成端口的冲突。所以这里我们直接使用默认的 2888 和 3888 来进行服务间的相互通信即可。

[En]

Because each container has a separate port table, even if these programs are running in a host, we still do not need to worry, they will cause port conflicts. So here we directly use the default 2888 and 3888 to communicate with each other between services.

而在进行容器互联的过程中,我们可以通过 Docker 的解析机制,直接填入对应服务的名称替代它们的 IP 地址,也就是这个例子里的 zk2 和 zk3。

在项目定义中,我们还注意到了 restart: always这个配置,这个配置主要是用来控制容器的重启策略的。

这里的 always 指的是不论任何情况,容器出现问题后都会自动重启,也包括 Docker 服务本身在启动后容器也会自动启动。

另外,restart 还支持几种配置:

配置值

不设重启机制

always

总是重启

on-failure

在异常退出时重启

unless-stopped

除非由停止命令结束,其他情况都重启

在实际使用中,我们可以根据需要选择不同的重启策略。

而这个项目里,我们希望 Zookeeper 能够一直健壮的运行,所以使用了 always 这个重启策略。

启动项目

一切就绪,我们就可以直接通过 Docker Compose 的命令来启动开发环境了。

# ./bin/compose.sh up -d​

留言互动

在这节中,我们展示了在开发中使用 Docker 部署服务发现工具的过程,下面就是大家自己动手进行实践的时候了。

本小节中的示例,已经更新到了:

大家可以在实践过程中的用其作为参考。

欢迎大家通过留言的方式说出你的实践之路。我会选出有代表性的优质留言,推荐给大家。

[En]

You are welcome to tell us your way to practice by leaving a message. I will select representative high-quality messages and recommend them to you.

同时,如果大家在实践过程中遇到困难,或者有自己的实践心得要与大家分享,可以加入到这本小册的官方微信群中,参与对相关问题的讨论。

[En]

At the same time, if you encounter difficulties in practice, or if you have your own practical experience to share with you, you can join the official WeChat group of this booklet and participate in the discussion of related issues.

Original: https://www.cnblogs.com/zouzhibin/p/16220002.html
Author: 我不知道取什么名字好
Title: 在开发环境中使用服务发现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/319414/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总