Numpy(Pandas)删除全为零的列的方法
2020-09-15 04:08
3287 查看
在处理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删除全为零的列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:相关文章推荐
- 使用pandas将numpy中的数组数据保存到csv文件的方法
- pandas 中三种删除方法
- python数据清洗工具、方法、过程整理归纳(一、数据清洗之常用工具——numpy,pandas)
- Python方法总结(1)——删除pandas DataFrame的某一/几列
- python安装numpy,pandas,seaborn,matplotlib数据库方法
- pandas/numpy常用方法/属性
- 05_Numpy任意行&列的删除方法(numpy.delete)
- pandas删除行列数据的drop方法。
- numpy.delete删除一列或多列的方法
- 将含有pandas、numpy 等c源码包的代码打包为exe时出现错误的解决方法
- python安装numpy和pandas的方法步骤
- mac安装pandas失败和不能卸载升级numpy的解决方法
- Python科学计算-Numpy和Pandas学习笔记(一)-安装、Numpy属性和常用方法(chaochao`s Blog)
- 利用numpy和pandas处理csv文件中的时间方法
- 将pandas Timestamp数据转换成unix纪元,并将Index类型转化为numpy数组类型的方法
- Numpy, Pandas, 及Python原生的排序方法
- pandas删除缺失数据(pd.dropna()方法)
- 在pandas中一次性删除dataframe的多个列方法
- 详解pandas删除缺失数据(pd.dropna()方法)
- Pandas:Series和DataFrame删除指定轴上数据的方法