数据分析工具PANDAS技巧-如何删除数据帧的列

简介: 数据分析工具PANDAS技巧-如何删除数据帧的列 在本教程中,我们将介绍如何从pandas数据帧(dataframe)中删除或删除一个或多个列。 什么是pandas ? pandas是一个用于数据操作的python包。
+关注继续查看

数据分析工具PANDAS技巧-如何删除数据帧的列

在本教程中,我们将介绍如何从pandas数据帧(dataframe)中删除或删除一个或多个列。

image

什么是pandas ?

pandas是一个用于数据操作的python包。 它具有以下数据任务的多个功能:

  • 删除或保留行和列
  • 按一列或多列汇总数据
  • 对数据进行排序或重新排序
  • 合并或附加多个数据帧
  • 用于处理文本数据的字符串函数
  • DateTime用于处理日期或时间格式列的函数

导入或加载Pandas库

>>> import pandas as pd
>>> import numpy as np
>>> df = pd.DataFrame(np.random.randn(6, 4), columns=list('ABCD'))
>>> df
          A         B         C         D
0  0.234760  0.408970  0.294589 -0.283262
1  0.949531  0.021386  1.708693 -1.175214
2 -0.193982 -1.012922  0.453042  1.850156
3 -0.849963 -1.164284  0.438106  0.637801
4 -0.511291 -1.536829 -1.545748 -1.691566
5  0.762898  0.129889 -0.020672 -1.665944

删除一列

在pandas中,drop( )函数用于删除列。 axis=1告诉Python在列而不是行上应用函数。

>>> df.drop(['A'], axis=1)
          B         C         D
0  0.408970  0.294589 -0.283262
1  0.021386  1.708693 -1.175214
2 -1.012922  0.453042  1.850156
3 -1.164284  0.438106  0.637801
4 -1.536829 -1.545748 -1.691566
5  0.129889 -0.020672 -1.665944
>>> newdf = df.drop(['A'], axis=1)
>>> df.drop(['A'], axis=1, inplace=True)
>>> df.columns
Index(['B', 'C', 'D'], dtype='object')

删除Python中的多个列

>>> df.drop(['B','C'], axis=1)
          D
0 -0.283262
1 -1.175214
2  1.850156
3  0.637801
4 -1.691566
5 -1.665944

参考资料

按位置编号删除列?

>>> df.drop(df.columns[0], axis =1)
          C         D
0  0.294589 -0.283262
1  1.708693 -1.175214
2  0.453042  1.850156
3  0.438106  0.637801
4 -1.545748 -1.691566
5 -0.020672 -1.665944
>>> cols = [0,2]
>>> df.drop(df.columns[cols], axis =1)
          C
0  0.294589
1  1.708693
2  0.453042
3  0.438106
4 -1.545748
5 -0.020672

按名称模式删除列

>>> df = pd.DataFrame({"X1":range(1,6),"X_2":range(2,7),"YX":range(3,8),"Y_1":range(2,7),"Z":range(5,10)}) # 讨论qq群630011153 144081101
>>> df
   X1  X_2  YX  Y_1  Z
0   1    2   3    2  5
1   2    3   4    3  6
2   3    4   5    4  7
3   4    5   6    5  8
4   5    6   7    6  9
>>> df.loc[:,~df.columns.str.contains('^X')]
   YX  Y_1  Z
0   3    2  5
1   4    3  6
2   5    4  7
3   6    5  8
4   7    6  9
>>> df.drop(df.columns[df.columns.str.contains('^X')], axis=1)
   YX  Y_1  Z
0   3    2  5
1   4    3  6
2   5    4  7
3   6    5  8
4   7    6  9
>>> df.loc[:,~df.columns.str.contains('X')]
   Y_1  Z
0    2  5
1    3  6
2    4  7
3    5  8
4    6  9
>>> df.loc[:,~df.columns.str.contains('X|Y')]
   Z
0  5
1  6
2  7
3  8
4  9
>>> df.loc[:,~df.columns.str.contains('X$')]
   X1  X_2  Y_1  Z
0   1    2    2  5
1   2    3    3  6
2   3    4    4  7
3   4    5    5  8
4   5    6    6  9

按缺失比例删除

>>> df = pd.DataFrame({'A':[1,3,np.nan,5,np.nan], 'B':[4,np.nan,np.nan,5,np.nan]})
>>> df
     A    B
0  1.0  4.0
1  3.0  NaN
2  NaN  NaN
3  5.0  5.0
4  NaN  NaN
>>> cols = df.columns[df.isnull().mean()>0.5]
>>> df.drop(cols, axis=1)
     A
0  1.0
1  3.0
2  NaN
4  NaN
3  5.0
相关文章
|
1天前
|
数据采集 机器学习/深度学习 数据可视化
Pandas在数据分析中有广泛的应用场景
Pandas在数据分析中有广泛的应用场景
26 2
|
9天前
|
机器学习/深度学习 数据采集 数据挖掘
Python 数据分析入门教程:Numpy、Pandas、Matplotlib和Scikit-Learn详解
Python 数据分析入门教程:Numpy、Pandas、Matplotlib和Scikit-Learn详解
26 0
|
19天前
|
数据可视化 数据挖掘 索引
pandas数据分析之数据绘图
一图胜千言,将信息可视化(绘图)是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外,还可以帮助我们找出异常值、必要的数据转换、得出有关模型的想法等等。pandas 在数据分析、数据可视化方面有着较为广泛的应用。本文将通过实例介绍pandas的数据绘图。
37 0
|
19天前
|
数据挖掘 索引 Python
pandas数据分析之数据重塑透视(stack、unstack、melt、pivot)
在数据分析的过程中,分析师常常希望通过多个维度多种方式来观察分析数据,重塑和透视是常用的手段。 数据的重塑简单说就是对原数据进行变形,为什么需要变形,因为当前数据的展示形式不是我们期望的维度,也可以说索引不符合我们的需求。对数据的重塑不是仅改变形状那么简单,在变形过程中,数据的内在数据意义不能变化,但数据的提示逻辑则发生了重大的改变。 数据透视是最常用的数据汇总工具,Excel 中经常会做数据透视,它可以根据一个或者多个指定的维度来聚合数据。pandas 也提供了数据透视函数来实现这些功能。 如果能熟练区分和使用各种重塑和透视分析方法,那用pandas处理分析日常的数据基本上就没有什么难度了。
26 0
|
19天前
|
数据采集 数据挖掘 索引
pandas数据分析之数据运算(逻辑运算、算术运算、统计运算、自定义运算)
数据分析离不开数据运算,在介绍完pandas的数据加载、排序和排名、数据清洗之后,本文通过实例来介绍pandas的常用数据运算,包括逻辑运算、算术运算、统计运算及自定义运算。
18 0
|
19天前
|
搜索推荐 算法 数据挖掘
pandas数据分析之排序和排名(sort和rank)
对数据集进行排序和排名的是常用最基础的数据分析手段,pandas提供了方便的排序和排名的方法,通过简单的语句和参数就可以实现常用的排序和排名。 本文以student数据集的DataFrame为例来演示和介绍pandas数据分析之排序和排名(sort和rank)。
17 0
|
28天前
|
SQL 数据可视化 数据挖掘
Python 数据分析(四):Pandas 进阶
Python 数据分析(四):Pandas 进阶
34 0
Python 数据分析(四):Pandas 进阶
|
28天前
|
SQL 数据挖掘 测试技术
Python 数据分析(三):初识 Pandas
Python 数据分析(三):初识 Pandas
28 0
|
2月前
|
编解码 数据挖掘 数据处理
[工作必备]pandas数据分析处理52个常用技巧(上)
[工作必备]pandas数据分析处理52个常用技巧
|
2月前
|
数据挖掘 索引 Python
[工作必备]pandas数据分析处理52个常用技巧(中)
[工作必备]pandas数据分析处理52个常用技巧
推荐文章
更多