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项目发布为exe可执行程序过程分享
Oct 23 Python
python中requests模块的使用方法
Apr 08 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
python RabbitMQ 使用详细介绍(小结)
Nov 08 Python
python 将大文件切分为多个小文件的实例
Jan 14 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 Python
python 默认参数相关知识详解
Sep 18 Python
Python HTMLTestRunner可视化报告实现过程解析
Apr 10 Python
Jupyter Notebook的连接密码 token查询方式
Apr 21 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 Python
python实现双向链表原理
May 25 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/03 PHP
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
建议大家看下JavaScript重要知识更新
2007/07/08 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
节点的插入之append()和appendTo()的用法介绍
2014/01/13 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
使用jsonp实现跨域获取数据实例讲解
2016/12/25 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
Vue添加请求拦截器及vue-resource 拦截器使用
2017/11/23 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
浅谈Vue 函数式组件的使用技巧
2020/06/16 Javascript
JavaScript canvas实现文字时钟
2021/01/10 Javascript
Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
2015/04/24 Python
Python 字符串与数字输出方法
2018/07/16 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
新加坡网上化妆品店:Best Buy World
2018/05/18 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
大一军训感言
2014/01/09 职场文书
社区工作者感言
2014/03/02 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS
十大最强水系宝可梦,最美宝可梦排第三,榜首大家最熟悉
2022/03/18 日漫