Numpy(Pandas)删除全为零的列的方法


Posted in Python onSeptember 11, 2020

在处理numpy数组,有这个需求,故写下此文:

使用np.argwhere和np.all来查找索引。要使用np.delete删除它们。

示例1

import numpy as np
a = np.array([[1, 2, 0, 3, 0],
       [4, 5, 0, 6, 0],
       [7, 8, 0, 9, 0]])

idx = np.argwhere(np.all(a[..., :] == 0, axis=0))
a2 = np.delete(a, idx, axis=1)

print(a2)

"""
[[1 2 3]
 [4 5 6]
 [7 8 9]]
"""

示例2

import numpy as np

array1 = np.array([[1,0,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,1,0,0],
          [0,1,1,0,0,1,1,1,1,0,0,0,1,0,1,0,0,1,1,1],
          [0,0,1,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,1,1],
          [0,1,1,0,0,1,1,1,1,0,1,1,1,0,0,1,0,0,1,1],
          [0,0,1,0,0,1,1,1,0,1,0,1,1,0,1,1,0,0,1,0],
          [1,0,1,0,0,0,1,0,0,1,1,1,1,0,1,1,0,0,1,0],
          [1,0,1,0,1,1,0,0,0,0,1,0,0,0,1,0,0,0,1,1],
          [0,1,0,0,1,0,0,0,1,0,1,1,1,0,1,0,0,1,1,0],
          [0,1,0,0,1,0,0,1,1,0,1,1,1,0,0,1,0,1,0,0],
          [1,0,0,0,0,1,0,1,0,0,0,1,1,0,0,1,0,1,0,0]])

mask = (array1 == 0).all(0)
column_indices = np.where(mask)[0]
array1 = array1[:,~mask]

print("raw array", array1.shape)  # raw array (10, 20)
print("after array",array1.shape) # after array (10, 17)
print("=====x=====\n",array1)

其它查看:https://moonbooks.org/Articles/How-to-remove-array-rows-that-contain-only-0-in-python/

pandas 删除全零列

from pandas import DataFrame

df1=DataFrame(np.arange(16).reshape((4,4)),index=['a','b','c','d'],columns=['one','two','three','four'])   # 创建一个dataframe
df1.loc['e'] = 0          # 优雅地增加一行全0
df1.ix[(df1==0).all(axis=1), :]  # 找到它
df1.ix[~(df1==0).all(axis=1), :]  # 删了它

到此这篇关于Numpy(Pandas)删除全为零的列的方法的文章就介绍到这了,更多相关Numpy删除全为零的列内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python使用多线程不断刷新网页的方法
Mar 31 Python
Python内置函数OCT详解
Nov 09 Python
Python调用C# Com dll组件实战教程
Oct 12 Python
Python列表删除的三种方法代码分享
Oct 31 Python
Python实现的圆形绘制(画圆)示例
Jan 31 Python
python Django中models进行模糊查询的示例
Jul 18 Python
Python While循环语句实例演示及原理解析
Jan 03 Python
Python模拟FTP文件服务器的操作方法
Feb 18 Python
详解python datetime模块
Aug 17 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
pycharm最新激活码有效期至2100年(亲测可用)
Feb 05 Python
Python import模块的缓存问题解决方案
Jun 02 Python
详解Python中import机制
Sep 11 #Python
python使用隐式循环快速求和的实现示例
Sep 11 #Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 #Python
降低python版本的操作方法
Sep 11 #Python
Django crontab定时任务模块操作方法解析
Sep 10 #Python
Django日志及中间件模块应用案例
Sep 10 #Python
Django nginx配置实现过程详解
Sep 10 #Python
You might like
深入理解PHP原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
PHP多例模式介绍
2013/06/24 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
ThinkPHP3.1新特性之查询条件预处理简介
2014/06/19 PHP
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
js中window.open()的所有参数详细解析
2014/01/09 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
浅谈webpack组织模块的原理
2018/03/10 Javascript
jQuery+Cookie实现切换皮肤功能【附源码下载】
2018/03/25 jQuery
Vue 第三方字体图标引入 Font Awesome的方法
2018/09/28 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
[36:20]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.17
2020/12/18 DOTA
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
Python 字典与字符串的互转实例
2017/01/13 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
python实现登录密码重置简易操作代码
2019/08/14 Python
viagogo波兰票务平台:演唱会、体育比赛、戏剧门票
2018/04/23 全球购物
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
本科毕业生的求职信范文
2013/11/20 职场文书
公务员培训心得体会
2013/12/28 职场文书
考试不及格检讨书
2014/01/09 职场文书
金融行业职业生涯规划范文
2014/01/17 职场文书
竞选大队委员演讲稿
2014/04/28 职场文书
入党积极分子学习优秀共产党员先进事迹思想汇报
2014/09/13 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis
win10以太网连接不上怎么办?Win10连接以太网详细教程
2022/04/08 数码科技