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系列之浅谈pickle模块封装和拆封数据对象的方法
May 23 Python
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
Python编程中的文件操作攻略
Oct 16 Python
Python 专题四 文件基础知识
Mar 20 Python
Python Socket编程详细介绍
Mar 23 Python
详解python中的 is 操作符
Dec 26 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
Python+OpenCV图片局部区域像素值处理改进版详解
Jan 23 Python
Python控制Firefox方法总结
Jun 03 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
浅谈Python程序的错误:变量未定义
Jun 02 Python
Windows下Sqlmap环境安装教程详解
Aug 04 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 JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
php两种无限分类方法实例
2015/04/21 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
jQuery实现自定义checkbox和radio样式
2015/07/13 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
Angular ng-repeat遍历渲染完页面后执行其他操作详细介绍
2016/12/13 Javascript
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
2019/05/14 Javascript
Vuex的API文档说明详解
2020/02/05 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
2020/11/09 Javascript
python 转换 Javascript %u 字符串为python unicode的代码
2016/09/06 Python
Python如何为图片添加水印
2016/11/25 Python
TensorFlow模型保存/载入的两种方法
2018/03/08 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
Python的轻量级ORM框架peewee使用教程
2021/02/05 Python
html5中监听canvas内部元素点击事件的三种方法
2019/04/28 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
谈一谈HTML5本地存储技术
2016/03/02 HTML / CSS
前端H5 Video常见使用场景简介
2020/08/21 HTML / CSS
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
企业管理专业个人求职信范文
2013/09/24 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
销售业务员岗位职责
2015/02/13 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS