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实现ftp客户端示例分享
Feb 17 Python
python的tkinter布局之简单的聊天窗口实现方法
Sep 03 Python
用Python抢过年的火车票附源码
Dec 07 Python
PyQt5每天必学之滑块控件QSlider
Apr 20 Python
Django学习教程之静态文件的调用详解
May 08 Python
对python list 遍历删除的正确方法详解
Jun 29 Python
树莓派动作捕捉抓拍存储图像脚本
Jun 22 Python
python实现高斯投影正反算方式
Jan 17 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
Feb 06 Python
Python内置函数locals和globals对比
Apr 28 Python
Python socket如何解析HTTP请求内容
Feb 12 Python
在python中读取和写入CSV文件详情
Jun 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
解决Codeigniter不能上传rar和zip压缩包问题
2014/03/07 PHP
完美利用Yii2微信后台开发的系列总结
2016/07/18 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
2019/07/18 PHP
JQuery toggle使用分析
2009/11/16 Javascript
JavaScript编程开发中的五个实用小技巧
2010/07/22 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
jQuery学习笔记之基础中的基础
2015/01/19 Javascript
jQuery内容过滤选择器用法分析
2015/02/10 Javascript
jquery实现的省市区三级联动
2015/04/02 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JavaScript实现同一个页面打开多张图片
2016/12/29 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
基于mpvue搭建微信小程序项目框架的教程详解
2019/04/10 Javascript
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
Python查看多台服务器进程的脚本分享
2014/06/11 Python
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
2016/08/15 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
在python里从协程返回一个值的示例
2019/02/19 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
python实现可变变量名方法详解
2019/07/01 Python
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
演讲稿的写法
2014/05/19 职场文书
拖欠货款起诉状
2015/05/20 职场文书
事业单位工作人员2015年度思想工作总结
2015/10/15 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
python flask框架快速入门
2021/05/14 Python
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android