pandas数据清洗实现删除的项目实践

目录
  • 准备工作(导入库、导入数据)
  • 检测数据情况
    • DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)
      • 方式一:删除指定行或列
      • 方式二:利用boolean删除满足条件元素所在的行

准备工作(导入库、导入数据)

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import seaborn as  sns
sns.set_style("darkgrid")   
list_csv = ['Amazon_top_selling_book.csv','breast_cancer_wisconsin.csv','diamonds.csv','insurance.csv','netflix_titles.csv','penguins.csv',
           'titanic.csv','winequality-red.csv']
dic_path = r'C:\Users\pandas\Desktop\task\228datasets\datasets'
part_data = pd.read_csv(dic_path+'\\'+list_csv[4])
part_data
  show_id type title director cast country date_added release_year rating duration listed_in description
0 s1 Movie Dick Johnson Is Dead Kirsten Johnson NaN United States September 25, 2021 2020 PG-13 90 min Documentaries As her father nears the end of his life, filmm...
1 s2 TV Show Blood & Water NaN Ama Qamata,
Khosi Ngema,
Gail Mabalane,
Thaban...
South Africa September 24, 2021 2021 TV-MA 2 Seasons International TV Shows,
TV Dramas,
TV Mysteries
After crossing paths at a party, a Cape Town t...
2 s3 TV Show Ganglands Julien Leclercq Sami Bouajila,
Tracy Gotoas,
Samuel Jouy,
Nabi...
NaN September 24, 2021 2021 TV-MA 1 Season Crime TV Shows,
International TV Shows,
TV Act...
To protect his family from a powerful drug lor...
3 s4 TV Show Jailbirds New Orleans NaN NaN NaN September 24, 2021 2021 TV-MA 1 Season Docuseries, Reality TV Feuds, flirtations and toilet talk go down amo...
4 s5 TV Show Kota Factory NaN Mayur More,
Jitendra Kumar,
Ranjan Raj,
Alam K...
India September 24, 2021 2021 TV-MA 2 Seasons International TV Shows,
Romantic TV Shows,
TV ...
In a city of coaching centers known to train I...
... ... ... ... ... ... ... ... ... ... ... ... ...

8807 rows × 12 columns

检测数据情况

Hint:该函数用于检测任意DataFrame中缺失值情况

def missing_values_table(df):
        mis_val = df.isnull().sum()
        mis_val_percent = 100 * df.isnull().sum() / len(df)
        mis_val_table = pd.concat([mis_val, mis_val_percent], axis=1)
        mis_val_table_ren_columns = mis_val_table.rename(
        columns = {0 : 'Missing Values', 1 : '% of Total Values'})
        mis_val_table_ren_columns = mis_val_table_ren_columns[
            mis_val_table_ren_columns.iloc[:,1] != 0].sort_values(
        '% of Total Values', ascending=False).round(1)
        print ("Your selected dataframe has " + str(df.shape[1]) + " columns.\n"
            "There are " + str(mis_val_table_ren_columns.shape[0]) +
              " columns that have missing values.")
        return mis_val_table_ren_columns
missing_values_table(part_data)

Your selected dataframe has 12 columns.
There are 6 columns that have missing values.

  Missing Values % of Total Values
director 2634 29.9
country 831 9.4
cast 825 9.4
date_added 10 0.1
rating 4 0.0
duration 3 0.0

DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False)

参数说明:

  • labels 就是要删除的行列的名字,用列表给定
  • axis 默认为0,指删除行,因此删除columns时要指定axis=1;
  • index 直接指定要删除的行
  • columns 直接指定要删除的列
  • inplace=False,默认该删除操作不改变原数据,而是返回一个执行删除操作后的新dataframe;
  • inplace=True,则会直接在原数据上进行删除操作,删除后无法返回。

方式一:删除指定行或列

labels+axis

demo = part_data.drop(['director'], axis=1)
missing_values_table(demo)

Your selected dataframe has 11 columns.
There are 5 columns that have missing values.

  Missing Values % of Total Values
country 831 9.4
cast 825 9.4
date_added 10 0.1
rating 4 0.0
duration 3 0.0

方式二:利用boolean删除满足条件元素所在的行

df = df.drop(df[].index)

# 删除release_year年份在2009年之前的行
demo = part_data.drop(part_data[part_data["release_year"]<2009].index)
demo.shape

(7624, 12)

到此这篇关于pandas数据清洗实现删除的项目实践的文章就介绍到这了,更多相关pandas数据清洗删除内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Pandas 数据处理,数据清洗详解

    如下所示: # -*-coding:utf-8-*- from pandas import DataFrame import pandas as pd import numpy as np """ 获取行列数据 """ df = DataFrame(np.random.rand(4, 5), columns=['A', 'B', 'C', 'D', 'E']) print df print df['col_sum'] = df.apply(lam

  • pandas数据清洗,排序,索引设置,数据选取方法

    此教程适合有pandas基础的童鞋来看,很多知识点会一笔带过,不做详细解释 Pandas数据格式 Series DataFrame:每个column就是一个Series 基础属性shape,index,columns,values,dtypes,describe(),head(),tail() 统计属性Series: count(),value_counts(),前者是统计总数,后者统计各自value的总数 df.isnull() df的空值为True df.notnull() df的非空值为T

  • 利用pandas进行数据清洗的方法

    目录 1.完整性 1.1 缺失值 1.2 空行 2.全面性 列数据的单位不统一 3.合理性 非ASCII字符 4.唯一性 4.1 一列有多个参数 4.2 重复数据 我们有下面的一个数据,利用其做简单的数据分析. 这是一家服装店统计的会员数据.最上面的一行是列坐标,最左侧一列是行坐标.列坐标中,第 0 列代表的是序号,第 1 列代表的会员的姓名,第 2 列代表年龄,第 3 列代表体重,第 4~6 列代表男性会员的三围尺寸,第 7~9 列代表女性会员的三围尺寸. 数据清洗规则总结为以下 4 个关键点

  • 详解Python如何利用Pandas与NumPy进行数据清洗

    目录 准备工作 DataFrame 列的删除 DataFrame 索引更改 DataFrame 数据字段整理 str 方法与 NumPy 结合清理列 apply 函数清理整个数据集 DataFrame 跳过行 DataFrame 重命名列 许多数据科学家认为获取和清理数据的初始步骤占工作的 80%,花费大量时间来清理数据集并将它们归结为可以使用的形式. 因此如果你是刚刚踏入这个领域或计划踏入这个领域,重要的是能够处理杂乱的数据,无论数据是否包含缺失值.不一致的格式.格式错误的记录还是无意义的异常

  • pandas数据清洗实现删除的项目实践

    目录 准备工作(导入库.导入数据) 检测数据情况 DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False) 方式一:删除指定行或列 方式二:利用boolean删除满足条件元素所在的行 准备工作(导入库.导入数据) import pandas as pd import matplotlib.pyplot as plt import numpy as np import seaborn as  sns sn

  • pandas实现数据读取&清洗&分析的项目实践

    目录 一.数据读取和写入 1.1 CSV和txt文件: 1.2 Excel文件: 1.3 MYSQL数据库: 二.数据清洗 2.1 清除不需要的行数据 2.2 清除不需要的列 2.3 调整列的展示顺序或列标签名 2.4 对行数据进行排序 2.5 空值的处理 2.6 数据去重处理 2.7 对指定列数据进行初步加工 2.8 对DataFrame内所有数据进行初步加工处理 2.9 设置数据格式 三.数据切片和筛选查询 3.1 行切片 3.2 列切片 3.3 数据筛选和查询 3.4 遍历 四.数据简单统

  • 使用Portainer部署Docker容器的项目实践

    一.背景 最近在使用rancher2.5.5部署Redis主从复制的时候,发现rancher会产生很多iptables的规则,这些规则导致我们在部署了rancher的机器上无法使用Redis的主从复制功能,因为我对rancher和k8s的了解也仅限于了解网络架构和使用,对底层并不深入,短期内无法解决这个网络冲突的问题: 因此我将rancher管理docker的模式换成使用protainer的方式,这个portainer相对来说更加轻量级,在搭建过程中也使用了几个小时学习,现在讲整个过程尽量复原给

  • MySQL实现配置主从复制项目实践

    目录 一.检测通信 二.master配置 1. 开启二进制日志 2. 创建一个用于主从库通信用的账号 3. 获取binlog文件名和position 三.slave配置 1. 配置全局唯一的server-id 2. 使用master创建的账户读取binlog同步数据 3. 开启slave服务 四.配置中可能出现的问题 1. 网络连接问题 2. binlog的position问题 3. SQL线程出错 一.检测通信 查看master(centos7)和slave(win10)的ip地址,并检测是否

  • vue+jsplumb实现工作流程图的项目实践

    最近接到一个需求——给后台开发一个工作流程图,方便给领导看工作流程具体到哪一步. 先写了一个demo,大概样子如下: 官网文档Home | jsPlumb Toolkit Documentation 先安装插件 npm install jsplumb --save 安装panzoom,主要用于鼠标滚轮缩放流程图 npm install panzoom --save 在需要的页面引入插件 import panzoom from 'panzoom' import { jsPlumb } from '

  • Springboot-Management的项目实践

    目录 准备工作 1.新建一个项目 2.导入静态资源 3.创建实体类 4.编写dao层 首页实现 中英文切换 自定义地区的解析器组件 登录功能 1.页面调整 2.编写LoginController 3.登录拦截器 员工信息——查 员工信息——增 员工信息——改 员工信息——删 错误页面定制 准备工作 1.新建一个项目 next之后选择SpringWeb和Thymeleaf,然后直接next,Finish即可. 之后我们进行测试,看是否搭建成功 ok,我们已经项目创建好了. 2.导入静态资源 根据下

  • 利用Redis进行数据缓存的项目实践

    目录 1. 引言 2. 将信息添加到缓存的业务流程 3. 实现代码 3.1 代码实现(信息添加到缓存中) 3.2 缓存更新策略 3.3 实现主动更新 4. 缓存穿透 4.1 解决缓存穿透(使用空对象进行解决) 5. 缓存雪崩 6. 缓存击穿 6.1 互斥锁代码 6.2 逻辑过期实现 1. 引言 缓存有啥用? 降低对数据库的请求,减轻服务器压力 提高了读写效率 缓存有啥缺点? 如何保证数据库与缓存的数据一致性问题? 维护缓存代码 搭建缓存一般是以集群的形式进行搭建,需要运维的成本 2. 将信息添加

  • C++和C的混合编译的项目实践

    目录 简介 某企业曾经给出如下的一道面试题 问题分析 关于 extern “C” extern关键字 用法举例 静态库是什么 创建C静态库 尝试使用C++程序调用C静态库 创建C++静态库 尝试使用C程序调用C++静态库 简介 C++ 语言的创建初衷是 “a better C”,但是这并不意味着 C++ 中类似 C 语言的全局变量和函数所采用的编译和连接方式与 C 语言完全相同.作为一种欲与 C 兼容的语言, C++ 保留了一部分过程式语言的特点(被世人称为"不彻底地面向对象"),因而

  • springboot创建的web项目整合Quartz框架的项目实践

    目录 介绍 基于springboot创建的web项目整合Quartz框架 依次实现mvc三层 介绍 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序.Jobs可以做成标准的Java组件或EJBs.Quartz的最新版本为Quartz 2.3.2. quartz可以在某一个有规律的时间点干某件事,是一个任务调度框

随机推荐