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 相关文章推荐
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
Python实现按特定格式对文件进行读写的方法示例
Nov 30 Python
详解python校验SQL脚本命名规则
Mar 22 Python
Python面向对象程序设计之私有属性及私有方法示例
Apr 08 Python
Pycharm新手教程(只需要看这篇就够了)
Jun 18 Python
python 使用opencv 把视频分割成图片示例
Dec 12 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
python设置环境变量的作用整理
Feb 17 Python
Python统计学一数据的概括性度量详解
Mar 03 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
Python列表去重复项的N种方法(实例代码)
May 12 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
PHP4(windows版本)中的COM函数
2006/10/09 PHP
Swoole源码中如何查询Websocket的连接问题详解
2020/08/30 PHP
Javascript 面向对象 命名空间
2010/05/13 Javascript
js获取网页高度(详细整理)
2012/12/28 Javascript
js时间日期和毫秒的相互转换
2013/02/22 Javascript
JavaScript将数字转换成大写中文的方法
2015/03/23 Javascript
jQuery 3.0十大新特性
2016/07/06 Javascript
Javascript vue.js表格分页,ajax异步加载数据
2016/10/24 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
jQuery EasyUI之验证框validatebox实例详解
2017/04/10 jQuery
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
vue表单自定义校验规则介绍
2018/08/28 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
介绍Python中内置的itertools模块
2015/04/29 Python
python编程线性回归代码示例
2017/12/07 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
python如何通过闭包实现计算器的功能
2020/02/22 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
法律专业个人实习自我鉴定
2013/09/23 职场文书
2014年元旦活动方案
2014/02/15 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
秋天的图画教学反思
2014/05/01 职场文书
学习演讲稿范文
2014/05/10 职场文书
预备党员公开承诺书
2014/05/28 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
个人廉政承诺书
2015/04/28 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
Python图片验证码降噪和8邻域降噪
2021/08/30 Python