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. 重新温习git

    在本地文件夹创建项目,使用git bash here,然后使用git clone[url]命令克隆,提示权限不足, 这是需要ssh重置了 1.删除原有.ssh文件下的known_hosts 2.设置用 ...

  2. Taro项目引入Tailwindcss

    前情 Tailwind CSS 是一个原子类 CSS 框架,它将基础的 CSS 全部拆分为原子级别,同时还补全各种浏览器模式前缀,兼容性也不错.它的工作原理是扫描所有 HTML 文件.JavaScri ...

  3. C++面试八股文:用过STL吗?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第21面: 面试官:用过STL吗? 二师兄:(每天都用好吗..)用过一些. 面试官:你知道STL是什么? 二师兄:STL是指标准模板库(Standar ...

  4. TransformersandNLPforVideoUnderstanding

    目录 1. 引言 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 <Transformers and NLP for Video Understanding> 1 ...

  5. K8S | 容器和Pod组件

    对比软件安装和运行: 一.场景 作为研发人员,通常自己电脑的系统环境都是非常复杂,在个人的习惯上,是按照下图的模块管理电脑的系统环境: 对于「基础设施」.「主机操作系统」.「系统软件」来说,通常只做配 ...

  6. 使用mybatis-generator 能生成 但是实际使用时抛出异常Invalid bound statement (not found)

    好多好多好多红 但是重点是一句org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): {}.d ...

  7. springboot整合mqtt 消费端

    用到的工具: EMQX , mqttx , idea 工具使用都很简单,自己看看就能会. 订阅端config代码: package com.example.demo.config; import lo ...

  8. 关于自定义程序打包成jar包,并读取配置

    前言 在实际开发过程中,我们有时候有把你编写的一段程序打成jar包的需求,而一些配置是需要去配置文件里面读取关于这项目的一些配置,本人在网络上查询了众多的资料,总的来说可以归为3类 1.从数据库读取配 ...

  9. jwt实现token鉴权(nodejs koa)

    为什么需要token 在后台管理系统中,我们通常使用cookie-session的方式用于鉴权,jwt实现token鉴权(nodejs koa) 但这种方式存在着以下问题 比如cookie的容量太小. ...

  10. SpringSecurity1: spring boot web 样例快速体验

    本文只讲操作实践,不讲原理,这样对于想快速搭建起一个基于SpringSecurity的Web项目的朋友们而言,比较友好.文章主要由两部分构成: 快速演示样例 所有账户和授权数据均基于内存,能在极短的时 ...