pandas中drop用法_机器学习笔记:Pandas的delete、drop函数的用法

机器学习笔记:Pandas的delete、drop函数的用法

目录drop函数

Axis(轴)含义

drop用法实验

delete函数

drop函数

DataFrame.drop(labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

这是drop函数的所有参数

labels是指要删除的标签,一个或者是列表形式的多个;

axis是指处哪一个轴;

columns是指某一列或者多列;

level是指等级,针对多重索引的情况;

inplaces是否替换原来的dataframe;

具体更详细的可以参阅官网:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.drop.html

Axis(轴)含义

axis=0指的是逐行,axis=1指的是逐列。

import pandas as pd

df = pd.DataFrame([[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]], columns=["col1", "col2", "col3", "col4"])

print(df.mean(axis=0))

col1 2.0

col2 2.0

col3 2.0

col4 2.0

dtype: float64

print(df.mean(axis=1))

0 1.0

1 2.0

2 3.0

dtype: float64

print(df.drop(0,axis=0))

col1 col2 col3 col4

1 2 2 2 2

2 3 3 3 3

print(df.drop(['col1'],axis=1))

col2 col3 col4

0 1 1 1

1 2 2 2

2 3 3 3

根据结果:

mean(axis=0)计算的是每一列平均值,

mean(axis=1)计算的是每一行平均值。

drop(0,axis=0)删除行,

drop([‘col1’],axis=1)删除列。

drop用法实验

df = pd.DataFrame(np.arange(12).reshape(3,4),

... columns=['A', 'B', 'C', 'D'])

df

A B C D

0 0 1 2 3

1 4 5 6 7

2 8 9 10 11

#指定删除相关的列,没有带columns,所以要指出是哪个轴上的

df.drop(['B', 'C'], axis=1)

A D

0 0 3

1 4 7

2 8 11

#这里带有columns,所以不用加上axis参数

df.drop(columns=['B', 'C'])

A D

0 0 3

1 4 7

2 8 11

#删除指定索引的行,这里没有axis参数,就是默认axis=0,也就是删除行

df.drop([0, 1])

A B C D

2 8 9 10 11

#多重索引的情况,因为版本问题,有些版本需要把里面的codes改成labels

midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'],

... ['speed', 'weight', 'length']],

... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],

... [0, 1, 2, 0, 1, 2, 0, 1, 2]])

df = pd.DataFrame(index=midx, columns=['big', 'small'],

... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],

... [250, 150], [1.5, 0.8], [320, 250],

... [1, 0.8], [0.3,0.2]])

df

big small

lama speed 45.0 30.0

weight 200.0 100.0

length 1.5 1.0

cow speed 30.0 20.0

weight 250.0 150.0

length 1.5 0.8

falcon speed 320.0 250.0

weight 1.0 0.8

length 0.3 0.2

df.drop(index='cow', columns='small')

big

lama speed 45.0

weight 200.0

length 1.5

falcon speed 320.0

weight 1.0

length 0.3

df.drop(index='length', level=1)

big small

lama speed 45.0 30.0

weight 200.0 100.0

cow speed 30.0 20.0

weight 250.0 150.0

falcon speed 320.0 250.0

weight 1.0 0.8

#我这里不加index参数是因为我的版本加上以后会报错,所以在使用时建议先了解一下版本

df.drop('length', level=0)

bigsmall

lamaspeed45.030.0

weight200.0100.0

length1.51.0

cow speed30.020.0

weight250.0150.0

length1.50.8

falconspeed320.0250.0

weight1.00.8

length0.30.2

delete函数

具体的用法如下:

del df['A'] # 删除A列,会就地修改

另外,可能drop函数相关的函数还有一些dropna()和drop_duplicated()函数,暂不总结了

机器学习笔记:Pandas的delete、drop函数的用法 相关文章

讲解一些JS常见方法封装

免费学习推荐:js视频教程 1、判断是否是微信浏览器 function isWechat() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == micromessenger) { return true; } else { return false; }} 2、判断是否是PC/WAP端 function i

ECMWF已经开展的机器学习算法应用情况(数据同化)

之前写了欧洲中心目前已经在开展或者在计划中的机器学习算法图中的观测资料(Observations)部分,(详见:ECMWF已经开展的机器学习算法应用情况(Observations)),下面继续写Data assimilation(数据同化)吧~数据同化这部分工作,我做的不是很多,只是在

ECMWF已经开展的机器学习算法应用情况(Observations)

最近,欧洲中心给出了未来十年的发展规划,尤其以机器学习与天气预报的深度结合最为亮眼,还给出了发展规划图。看着这张图,我不禁想起,当年NCL团队也绘制了一张NCL转为Python库的时间路线图,然后。。就没有然后了 先来看看欧洲中心目前已经在开展或者在计

吴裕雄--天生自然 Zookeeper学习笔记--Zookeeper 分布式锁实现原理

分布式锁是控制分布式系统之间同步访问共享资源的一种方式。下面介绍 zookeeper 如何实现分布式锁,讲解排他锁和共享锁两类分布式锁。 排他锁排他锁(Exclusive Locks),又被称为写锁或独占锁,如果事务T1对数据对象O1加上排他锁,那么整个加锁期间,只允许

TinySTL编写过程重点与细节笔记

借鉴候捷老师的《STL源码剖析》与Github上大佬 https://github.com/zouxiaohang/TinySTL/tree/master/TinySTL 的代码来编写一个基于SGI STL 的 TinySTL。 记录下编写过程中的难点重点与细节实现讨论。 STL规定配置器(allocator)定义在 memory。memory 中含

Markdown基本语法学习(使用Typora编辑器)

Markdown基本语法学习(使用Typora编辑器) 一级标题:就用 #加标题名字 二级标题 二级标题:## + 标题名字 三级标题 三级标题:### + 标题名字 四级标题 四级标题:#### + 标题名字 Typora编辑器最多只支持6级标题 字体 Hello,World! 粗体:两边各加两个*号 H

GO学习-(13) Go语言基础之文件操作

Go语言文件操作 本文主要介绍了Go语言中文件读写的相关操作。 文件是什么 计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件。 打开和关闭文件 os.Open() 函数能够打开一个文件,返回一个 *File 和一个 err 。对得到

XV6学习(13)调度

几乎所有操作系统都会运行数量远多于CPU数量的进程,因此需要对CPU进行分时共享。理想情况下这种共享应该是对用户进程透明的。一个常用的方法是通过多路复用将进程分配到硬件CPU上,使每个进程有其自己的虚拟CPU。 多路复用 XV6在两种情况下会对CPU的进程进

新手学习Java之方法

方法 方法的组成 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法的访问类型。 返回值类型:方法可能会返回值。returnValueType是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType是关键字void。 方法名

[Flutter Key]Key的学习笔记

KEY 创建类,方法里面的key class Box extends StatefulWidget { //构建一个Box类 const Box({Key key, this.color}) : super(key: key); //方法 //Box本身没有key,方法里创建一个key,并调用父类的key() final Color color; @override _BoxState createSta

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pandasdrop_duplicates函数用于删除DataFrame或Series的重复行。它返回一个新的DataFrame或Series,其仅包含不重复的行。 在DataFrame上使用drop_duplicates函数时,可以指定一个或多个列作为参考列。如果指定了参考列,则只有在指定的列上的值都相同时,才会被视为重复行。 下面是drop_duplicates函数的基本语法: ```python DataFrame.drop_duplicates(subset=None, keep='first', inplace=False) ``` 其,参数说明如下: - subset:可选参数,用于指定要考虑的列。默认值为None,表示考虑所有列。 - keep:可选参数,用于指定保留哪个重复行。可选值为'first'(保留第一个出现的重复行),'last'(保留最后一个出现的重复行),False(删除所有重复行)。默认值为'first'。 - inplace:可选参数,用于指定是否在原地修改数据。如果设置为True,则会直接修改原始DataFrame或Series,而不是返回一个新的对象。默认值为False。 下面是一个示例: ```python import pandas as pd # 创建一个DataFrame data = {'A': [1, 2, 2, 3, 4], 'B': ['a', 'b', 'b', 'c', 'd']} df = pd.DataFrame(data) # 删除重复行 df.drop_duplicates(inplace=True) print(df) ``` 输出结果如下: ``` A B 0 1 a 1 2 b 3 3 c 4 4 d ``` 在这个示例,原始的DataFrame有两个重复行(索引为2和4),通过使用drop_duplicates函数,我们删除了这两个重复行,并得到一个新的DataFrame。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值