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实现命令行版的火车票查看器
Aug 05 Python
python中requests小技巧
May 10 Python
python 文件操作删除某行的实例
Sep 04 Python
python读取文件名称生成list的方法
Apr 27 Python
Python异常处理操作实例详解
May 10 Python
Python使用pickle模块实现序列化功能示例
Jul 13 Python
python读取几个G的csv文件方法
Jan 07 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
python logging通过json文件配置的步骤
Apr 27 Python
python语言中有算法吗
Jun 16 Python
python属于哪种语言
Aug 16 Python
使用Python通过企业微信应用给企业成员发消息
Apr 18 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
第九节--绑定
2006/11/16 PHP
Ha0k 0.3 PHP 网页木马修改版
2009/10/11 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
php实现简单的守护进程创建、开启与关闭操作
2019/08/13 PHP
javascript学习随笔(使用window和frame)的技巧
2007/03/08 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
js获取select选中的option的text示例代码
2013/12/19 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
python2.7的编码问题与解决方法
2016/10/04 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
Python Pandas分组聚合的实现方法
2019/07/02 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
python 实现性别识别
2020/11/21 Python
行政总监岗位职责
2013/12/05 职场文书
电脑教师的自我评价
2013/12/18 职场文书
社团成立邀请函
2014/01/08 职场文书
大学生职业生涯规划书
2014/03/14 职场文书
年终考核实施方案
2014/05/26 职场文书
代办委托书怎么写
2014/08/01 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python
MySQL中存储时间的最佳实践指南
2021/07/01 MySQL
Redis如何实现分布式锁
2021/08/23 Redis
Python Matplotlib库实现画局部图
2021/11/17 Python