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处理xml文件的方法小结
May 02 Python
Python2实现的图片文本识别功能详解
Jul 11 Python
python实现机器学习之多元线性回归
Sep 06 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
pyqt5实现绘制ui,列表窗口,滚动窗口显示图片的方法
Jun 20 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
python set集合使用方法解析
Nov 05 Python
python中必要的名词解释
Nov 20 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
Jun 02 Python
详解如何修改python中字典的键和值
Sep 29 Python
PYTHON 使用 Pandas 删除某列指定值所在的行
Apr 28 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
php将access数据库转换到mysql数据库的方法
2014/12/24 PHP
laravel 5.4中实现无限级分类的方法示例
2017/07/27 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
javascript实现dom元素可拖动
2016/03/21 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
vue-router 实现导航守卫(路由卫士)的实例代码
2018/09/02 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
vue实现图片上传到后台
2020/06/29 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
vue全局使用axios的操作
2020/09/08 Javascript
Python简单进程锁代码实例
2015/04/27 Python
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
python搭建微信公众平台
2016/02/09 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python 3.6 -win64环境安装PIL模块的教程
2019/06/20 Python
django框架使用方法详解
2019/07/18 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
使用HTML5和CSS3制作一个模态框的示例
2018/03/07 HTML / CSS
html5的input的required使用中遇到的问题及解决方法
2018/04/24 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
Julep官网:美容产品和指甲油
2017/02/25 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
夜大毕业生自我鉴定
2013/10/31 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
2014年办公室个人工作总结
2014/11/12 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python