数据清洗是数据科学和数据分析中非常重要的一个步骤。它指的是在数据分析之前,对数据进行预处理,以确保数据的质量和一致性。使用Python的pandas库进行数据清洗是一种常见的做法,因为pandas提供了丰富的数据操作和清洗功能。

1.导入需要的库

import pandas as pd
from pandas import DataFrame
import numpy as np

2.处理丢失数据

  • 有两种丢失数据:

    • None
    • np.nan(NaN)
  • 为什么在数据分析中需要用到的是浮点类型的空而不是对象类型?

    • 数据分析中会常常使用某些形式的运算来处理原始数据,如果原数数据中的空值为NAN的形式,则不会干扰或者中断运算。
    • NAN可以参与运算的
    • None是不可以参与运算
df = DataFrame(data=np.random.randint(0,100,size=(7,5)))
df.iloc[2,3] = None
df.iloc[4,2] = np.nan
df.iloc[5,4] = None
df

运行结果为:

3.pandas处理空值操作

  • isnull
  • notnull
  • any
  • all
  • dropna
  • filln
#哪些行中有空值
#any(axis=1)检测哪些行中存有空值
df.isnull().any(axis=1) #any会作用isnull返回结果的每一行
#true对应的行就是存有缺失数据的行

运行结果:

df.notnull()
df.notnull().all(axis=1)
#将布尔值作为源数据的行索引
df.loc[df.notnull().all(axis=1)]
#获取空对应的行数据
df.loc[df.isnull().any(axis=1)]
#获取空对应行数据的行索引
indexs = df.loc[df.isnull().any(axis=1)].index
indexs
df.drop(labels=indexs,axis=0)

3.案例分析

  • 数据说明:

    • 数据是1个冷库的温度数据,1-7对应7个温度采集设备,1分钟采集一次。
  • 数据处理目标:

    • 用1-4对应的4个必须设备,通过建立冷库的温度场关系模型,预估出5-7对应的数据。
    • 最后每个冷库中仅需放置4个设备,取代放置7个设备。
    • f(1-4) --> y(5-7)
  • 数据处理过程:

    • 1、原始数据中有丢帧现象,需要做预处理;
    • 2、matplotlib 绘图;
    • 3、建立逻辑回归模型。
  • 无标准答案,按个人理解操作即可,请把自己的操作过程以文字形式简单描述一下,谢谢配合。

  • 测试数据为testData.xlsx

data = pd.read_excel('./data/testData.xlsx').drop(labels=['none','none1'],axis=1)
data

运行结果为:

data.shape
#删除空对应的行数据
data.dropna(axis=0).shape
df = DataFrame(data=np.random.randint(0,100,size=(8,6)))
df.iloc[1] = [1,1,1,1,1,1]
df.iloc[3] = [1,1,1,1,1,1]
df.iloc[5] = [1,1,1,1,1,1]
df
#检测哪些行存有重复的数据
df.duplicated(keep='first')
df.loc[~df.duplicated(keep='first')]
#异步到位删除
df.drop_duplicates(keep='first')
df = DataFrame(data=np.random.random(size=(1000,3)),columns=['A','B','C'])
df.head()
#制定判定异常值的条件
twice_std = df['C'].std() * 2
twice_std
df.loc[~(df['C'] > twice_std)]

运行结果:

基于pandas的数据清洗的更多相关文章

  1. 数据分析03 /基于pandas的数据清洗、级联、合并

    数据分析03 /基于pandas的数据清洗.级联.合并 目录 数据分析03 /基于pandas的数据清洗.级联.合并 1. 处理丢失的数据 2. pandas处理空值操作 3. 数据清洗案例 4. 处 ...

  2. 基于pandas python的美团某商家的评论销售数据分析(可视化)

    基于pandas python的美团某商家的评论销售数据分析 第一篇 数据初步的统计 本文是该可视化系列的第二篇 第三篇 数据中的评论数据用于自然语言处理 导入相关库 from pyecharts i ...

  3. 【转载】使用pandas进行数据清洗

    使用pandas进行数据清洗 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的 ...

  4. python – 基于pandas中的列中的值从DataFrame中选择行

    如何从基于pandas中某些列的值的DataFrame中选择行?在SQL中我将使用: select * from table where colume_name = some_value. 我试图看看 ...

  5. 用pandas进行数据清洗(二)(Data Analysis Pandas Data Munging/Wrangling)

    在<用pandas进行数据清洗(一)(Data Analysis Pandas Data Munging/Wrangling)>中,我们介绍了数据清洗经常用到的一些pandas命令. 接下 ...

  6. 数据分析04 /基于pandas的DateFrame进行股票分析、双均线策略制定

    数据分析04 /基于pandas的DateFrame进行股票分析.双均线策略制定 目录 数据分析04 /基于pandas的DateFrame进行股票分析.双均线策略制定 需求1:对茅台股票分析 需求2 ...

  7. pandas 之 数据清洗-缺失值

    Abstract During the course fo doing data analysis and modeling, a significant amount of time is spen ...

  8. 数据分析---用pandas进行数据清洗(Data Analysis Pandas Data Munging/Wrangling)

    这里利用ben的项目(https://github.com/ben519/DataWrangling/blob/master/Python/README.md),在此基础上增添了一些内容,来演示数据清 ...

  9. 基于pandas python的美团某商家的评论销售(数据分析)

    数据初步的分析 本文是该系列的第一篇 数据清洗 数据初步的统计 第二篇 数据可视化 第三篇 数据中的评论数据用于自然语言处理 from pyecharts import Bar,Pie import ...

  10. 使用pandas进行数据清洗

    本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的空值/缺失值 isnull() ...

随机推荐

  1. java中线程的6中状态

    1.背景 编写多线程相关的程序,必然会用到线程状态的相关知识点, 那么这篇博客就给大家系统的分析一下多线程的状态, 由于java中线程状态与操作系统中的线程状态划分有区别, 因此这里优先介绍操作系统的 ...

  2. 一文搞懂DevOps、DataOps、MLOps、AIOps:所有“Ops”的比较

    引言 近年来,"Ops"一词在 IT 运维领域的使用迅速增加.IT 运维正在向自动化过程转变,以改善客户交付.传统的应用程序开发采用 DevOps 实施持续集成(CI)和持续部署( ...

  3. 基于 token 的登陆系统的实现

    这是一段防爬代码块,我不介意文章被爬取,但请注明出处 console.log("作者主页:https://www.cnblogs.com/Go-Solo"); console.lo ...

  4. Linux下如何在程序中获取某个命令执行的结果?【附源码】

    在工作中遇到一个问题,就是想获取某个函数执行之后打印的字符串信息. 这个功能应用场景挺多的, 特地整理了一下相关知识点分享给大家. 1. 使用临时文件 1) 使用shell的重定向 将命令输出重定向到 ...

  5. k8s批量操作

    批量删除Evicted状态pod kubectl -n gitee get pods | grep Evicted |awk '{print$1}'|xargs kubectl -n gitee de ...

  6. docker部署宝塔面板

    环境准备: 系统 rocky:9.2 部署流程: 1.安装docker dnf -y install yum-utils yum-config-manager --add-repo http://mi ...

  7. 猜数游戏[USACO2008] Haybale Guessing G

    $ Haybale \ Guessing \ G $ (猜数游戏) 解题报告 \(Diffculty:\) \(\color{purple}省选/NOI-\) 传送门1:(HZOIER) 传送门2:( ...

  8. 【YashanDB知识库】filter or改写问题

    问题现象 当filter中出现or的时候,会导致filter无法走索引或者走hash join,就需要进行改写,例如: create table test_tab1(col1 int, col2 in ...

  9. CSS – Monospaced font & ch unit 等宽字体与 ch 单位

    前言 在做 Statistics Counter 时, 发现总是会跳, 研究后才发现原来是等宽搞的鬼, 这篇就来说说等宽字体. 参考 等宽字体在web布局中应用以及CSS3 ch单位嘿嘿 不等宽字体 ...

  10. nRF24L01芯片驱动记录

    nRF24L01芯片驱动记录 ​ 学习完了usb,了解了部分元器件的功能以及用途后,打算在端午假期用一天的时间完成一个小目标,不过实际上是花了一天半才成功实现,现将驱动nRF24L01芯片的整个过程记 ...