1、用法:DataFrame.drop(labels=None, axis=0, index=None, columns=None, inplace=False)

2、参数说明:

labels:要删除的行/列的名字,用列表给出

axis:默认为0,即删除行,删除列时指定为1

index:直接指定要删除的行

columns:直接指定要删除的列

inplace:默认为False,即删除操作不改变元数据,而是返回一个执行删除操作后的新DataFrame,若为True,则会在元数据据上进行删除操作,删除后无法返回

3、删除行列的两种方式:

1)labels=None, axis=0/1的组合

2)index或columns直接指定要删除的行或列

1.滤除缺失数据dropna()

import pandas as pd
import numpy as np
df=pd.DataFrame({"record":[np.nan,"亚健康|潘光|45岁","疾病|张思",np.nan],"date":[np.nan,20210102,20210103,20210104]},index=["one","two","three","four"])

1)滤除含有NaN值的所有行
df.dropna()#默认axis=0

2)滤除含有NaN值的所有列
df.dropna(axis=1)

3)滤除元素都是NaN值的行
df.dropna(axis=0,how="all")

5)滤除指定列中含有缺失的行
df.dropna(subset=["record"],axis=0)

以上如果需要在原数据上直接做更改,需设置参数inplace=True

2.删除重复值 drop_duplicates()
df=pd.DataFrame({'state':[1,1,2,2,1,2,2],'pop':['a','b','c','d','b','c','d']})

语法:drop_duplicates(subset,keep,inplace),其中参数 keep:{‘first’,‘last’,False},默认’first’

first:保留第一次出现的重复项,删除第二次及之后出现的重复项。

last:保留最后一次出现的重复项,删除之前出现的重复项。

"false":删除所有重复项。

1)keep=“first”

df.drop_duplicates(keep="first")

2)keep=“last”

df.drop_duplicates(keep="last")

3)keep=False

df.drop_duplicates(keep=False)

4)删除指定列中重复项对应的行

df.drop_duplicates(subset=["state"],keep="first")

以上如果需要在原数据上直接做更改,需设置参数inplace=True

3.根据指定条件删除行列drop()

df=pd.DataFrame(np.arange(16).reshape(4,4),columns=["one","two","three","four"])

1).删除指定列

df.drop(["one"],axis=1)

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

另外,也可通过del df["one"]来实现删除指定列,但该方法不推荐,因为这默认直接在源数据上做更改。

2).删除指定行

df.drop([0],axis=0)

  1. >>> df.drop(index=[0])

以上如果需要在原数据上直接做更改,需设置参数inplace=True

————————————————
版权声明:本文为CSDN博主「永远在减肥永远110的的小潘」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/p1306252/article/details/114890550

pandas处理大数据题目的操作的更多相关文章

  1. Dapper学习(四)之Dapper Plus的大数据量的操作

    这篇文章主要讲 Dapper Plus,它使用用来操作大数量的一些操作的.比如插入1000条,或者10000条的数据时,再使用Dapper的Execute方法,就会比较慢了.这时候,可以使用Dappe ...

  2. 【大数据技术】操作系统和Hadoop版本选择

    1.操作系统选择 Hadoop产品是由Java语言开发的,所以推荐的是Linux操作系统,理由很简单开源免费,推荐的操作系统CentOS. CentOS是一个基于Red Hat 企业级 Linux 提 ...

  3. EasyExcel对大数据量表格操作导入导出

    前言 最近有个项目里面中有大量的Excel文档导入导出需求,数据量最多的文档有上百万条数据,之前的导入导出都是用apache的POI,于是这次也决定使用POI,结果导入一个四十多万的文档就GG了,内存 ...

  4. mysql大数据表删除操作锁表,导致其他线程等待锁超时(Lock wait timeout exceeded; try restarting transaction;)

    背景: 1.有一个定时任务,每10分钟入一批统计数据: 2.另一个定时任务,每天定时清理7天前数据,此定时任务每天01:18:00执行: 现象: 每天01:20:00的统计数据入库失败,异常信息如下, ...

  5. 入门大数据---SparkSQL联结操作

    一. 数据准备 本文主要介绍 Spark SQL 的多表连接,需要预先准备测试数据.分别创建员工和部门的 Datafame,并注册为临时视图,代码如下: val spark = SparkSessio ...

  6. 面试- 阿里-. 大数据题目- 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

    假如每个url大小为10bytes,那么可以估计每个文件的大小为50G×64=320G,远远大于内存限制的4G,所以不可能将其完全加载到内存中处理,可以采用分治的思想来解决. Step1:遍历文件a, ...

  7. 大数据自学5-Python操作Hbase

    在Hue环境中本身是可以直接操作Hbase数据库的,但是公司的环境不知道什么原因一直提示"Api Error:timed out",进度条一直在跑,却显示不出表. 但是在CDH后台 ...

  8. 大数据学习——java操作hdfs环境搭建以及环境测试

    1 新建一个maven项目 打印根目录下的文件的名字 添加pom依赖 pom.xml <?xml version="1.0" encoding="UTF-8&quo ...

  9. MERGE INTO 解决大数据量复杂操作更新慢的问题

    现我系统中有一条复杂SQL,由于业务复杂需要关联人员的工作离职三个表,并进行分支判断,再计算人员的字段信息,由于人员多,分支多,计算复杂等原因,一次执行需要5min,容易卡死,现在使用MERGE IN ...

  10. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...

随机推荐

  1. STL-vector(ACM)

    1.长度可变的数组 2.这里不是很懂,v.size() 代码源里说这个v.size()是无符号类型的,使用时要说明类型, 但是我在使用时并没有出现warning,有大佬知道原因吗? 前置板子 3.ve ...

  2. in用不用索引,啥时候能用啥时候不能用,一文说清

    in/or到底能不能用索引应该是肯定的,但有时生效有时不生效,这个能不能量化计算?这是本文想讨论和解答的问题. in到底用不用索引感觉像一桩悬疑片!古早时期的面经,统一说不走索引,在一些程序员脑海中从 ...

  3. celery笔记九之task运行结果查看

    本文首发于公众号:Hunter后端 原文链接:celery笔记九之task运行结果查看 这一篇笔记介绍一下 celery 的 task 运行之后结果的查看. 前面我们使用的配置是这样的: # sett ...

  4. PostgreSQL 12 文档: 前言

    前言 目录 1. 何为PostgreSQL? 2. PostgreSQL简史 2.1. 伯克利的POSTGRES项目 2.2. Postgres95 2.3. PostgreSQL 3. 约定 4. ...

  5. go网络编程(一)

    [B站最深度的Golang学习到实战 up主强力推荐] https://www.bilibili.com/video/BV1TK4y1a7ex/?p=101&share_source=copy ...

  6. Servlet案例:发生错误org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expecte

    20-Jun-2020 20:48:31.466 信息 [http-nio-8080-exec-7] com.alibaba.druid.pool.DruidDataSource.info {data ...

  7. 【websocket】小白快速上手flask-socketio

    大家好,我是一个初级的Python开发工程师.本文是结合官方教程和代码案例,简单说下我对flask-socketio的使用理解. 一.websocket简介 websocket 说白一点就是,建立客户 ...

  8. 【环境搭建】多版本的jdk共存

    问题来源 burpsuite 2021需要使用Java 9及以上版本,而其他工具需要Java 8,因此需要两个版本共存,并且做到除了burpsuite以外的工具默认使用Java 8打开. 需要的软件 ...

  9. Java开发大型互联网-架构师必须掌握的分布式技术

    Java开发大型互联网-架构师必须掌握的分布式技术 摘要:在当今互联网行业,随着用户量和业务的不断增长,大型互联网系统的设计和开发已经成为了一项头等重要的任务.作为架构师,要能够应对这样的挑战,就必须 ...

  10. C# HttpClient请求gzip

    //设置HttpClientHandler的AutomaticDecompression var handler = new HttpClientHandler() { AutomaticDecomp ...