开发者

基于pandas数据清洗的实现示例

开发者 https://www.devze.com 2024-08-10 11:27 出处:网络 作者: 写代码的大学生
目录1.导入需要的库2.处理丢失数据3.pandas处理空值操作 3.案例分析数据清洗是数据科学和数据分析中非常重要的一个步骤。它指的是在数据分析之前,对数据进行预处理,以确保数据的质量和一致性。使用python的pa
目录
  • 1.导入需要的库
  • 2.处理丢失数据
  • 3.pandas处理空值操作
  •  3.案例分析

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

1.导入需要的库

import pandas as pd
from 编程pandas import DataFrame
import numpphpy as np

2.处理丢失数据

有两种丢失数据:

  • None
  • np.nan(NaN)

为什么在数据分析中需要用到的是浮点类型的空而不是对象类型?

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

运行结果为:

基于pandas数据清洗的实现示例

3.pandas处理空值操作

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

运行结果:

基于pandas数据清洗的实现示例

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

基于pandas数据清洗的实现示例

 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

运行结果为:

基于pandas数据清洗的实现示例

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数据清洗的实现示例

到此这篇关于基于pandas数据清洗的实现示例的文章就介绍到这了,更多相关pandas 数据清洗内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号