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 获取 Linux 系统信息的代码
Jul 13 Python
python实现多线程暴力破解登陆路由器功能代码分享
Jan 04 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
Apr 17 Python
Python编程中的for循环语句学习教程
Oct 14 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
May 07 Python
Python BS4库的安装与使用详解
Aug 08 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
cProfile Python性能分析工具使用详解
Jul 22 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
Dec 04 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
Python实现AI换脸功能
Apr 10 Python
keras用auc做metrics以及早停实例
Jul 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
2009/06/29 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
2010/04/12 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
php通过隐藏表单控件获取到前两个页面的url
2014/09/09 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
jquery 添加节点的几种方法介绍
2013/09/04 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
jQuery过滤特殊字符及JS字符串转为数字
2016/05/26 Javascript
全面解析JavaScript里的循环方法之forEach,for-in,for-of
2020/04/20 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
微信小程序组件 marquee实例详解
2017/06/23 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python写的Socks5协议代理服务器
2014/08/06 Python
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
2018/05/05 Python
Python logging设置和logger解析
2019/08/28 Python
python实现微信打飞机游戏
2020/03/24 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
python从Oracle读取数据生成图表
2020/10/14 Python
基于Python-Pycharm实现的猴子摘桃小游戏(源代码)
2021/02/20 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
视图的作用
2014/12/19 面试题
私有程序集与共享程序集有什么区别
2013/04/05 面试题
教师业务学习制度
2014/01/25 职场文书
2015年化验员工作总结
2015/04/10 职场文书
护士2015年终工作总结
2015/04/29 职场文书