当前位置: 首页 > news >正文

数据分析-数据预处理

数据分析-数据预处理

处理重复值

duplicated( )查找重复值

import pandas as pd
a=pd.DataFrame(data=[['A',19],['B',19],['C',20],['A',19],['C',20]],
               columns=['name','age'])
print(a)
print('--------------------------')
a=a.duplicated()
print(a)

image-20211119093216546

只判断全局不判断每个

any()

import pandas as pd
a=pd.DataFrame(data=[['A',19],['B',19],['C',20],['A',19],['C',20]],
               columns=['name','age'])
print(a)
print('--------------------------')
a=any(a.duplicated())
print(a)

image-20211119093406143

drop_duplicates( )删除重复值

参数inplace 是否在原数据上修改

import pandas as pd
a=pd.DataFrame(data=[['A',19],['B',19],['C',20],['A',19],['C',20]],
               columns=['name','age'])
print(a)
print('--------------------------')
b=a.drop_duplicates(inplace=False)
a.drop_duplicates(inplace=True)
print(a)
print('--------------------------')
print(b)

image-20211119093806010

处理缺失值

NaN表示缺失值

import pandas as pd
a=pd.read_csv(r'text.csv')
print(a)

image-20211119094341814

isnull( )判断所有位置元素是否缺失

import pandas as pd
a=pd.read_csv(r'text.csv')
print(a.isnull())

image-20211119094701761

any( )判断行列元素是否缺失

import pandas as pd
a=pd.read_csv(r'text.csv')
print(a.isnull().any())
print(a.isnull().any(axis=1))

image-20211119094939603

del( )dropna( )删除

import pandas as pd
a=pd.read_csv(r'text.csv')
del a['name']
print(a)

image-20211119095458462

import pandas as pd
a=pd.read_csv(r'text.csv')
b=a.dropna(axis=0)
print(b)
c=a.dropna(axis=1)
print(c)

image-20211119095640211

del( )删除指定列,dropna( )删除含有缺失值的列(行)

fillna( )缺失值填补

import pandas as pda=pd.read_csv(r'text.csv')a=a.fillna('wu')print(a)

image-20211119100057705

根据上(下)数据填充

pad / ffill: 按照上一行进行填充
backfill / bfill: 按照下一行进行填充

import pandas as pda=pd.read_csv(r'text.csv')print(a)print('---------------------')b=a.fillna(method='pad')print(b)print('---------------------')c=a.fillna(method='bfill')print(c)

image-20211119105520231

数值型数据填充

平均值mean()

每列的平均值填充

import pandas as pda=pd.read_csv(r'text.csv')
print(a)
print('---------------------')
a=a.fillna(a.mean())
print(a)

image-20211119103513133

中位数median( )

import pandas as pd
a=pd.read_csv(r'text.csv')
print(a)print('---------------------')
a=a.fillna(a.median( ))
print(a)

image-20211119103627377

字符型数据填充

众数mode( )

import pandas as pd
a=pd.read_csv(r'text.csv')
print(a)
print('---------------------')
for i in a.columns:
    a[i] = a[i].fillna(a[i].mode()[0])
    print(a)

image-20211119104421611

数据变换

map( )数据转换

import pandas as pd
data={'sex':[1,0,1,1,0]}
a=pd.DataFrame(data)
a['sex-T']=a['sex'].map({1:'男',0:'女'})
print(a)

image-20211119111114072

哑变量

import pandas as pd
data={'sex':['男','女','男','女','保密']}
a=pd.DataFrame(data)
a=pd.get_dummies(a)
print(a)

image-20211119113232240

相关文章:

  • 【KWDB 创作者计划】第二卷:开发者实战篇
  • mysql 商城商品属性开发的动态解决方案
  • 个人博客系统后端 - 注册登录功能实现指南
  • 设计模式——工厂模式学习总结
  • 企业数据安全---数据分级
  • 【深度学习与大模型基础】第9章-条件概率以及条件概率的链式法则
  • Linux xorg-server 解析(二)- 如何调试 xorg-server
  • asm汇编字符串操作
  • 【NumPy科学计算:高性能数组操作核心指南】
  • a sort.py demo
  • 2024年React最新高频面试题及核心考点解析,涵盖基础、进阶和新特性,助你高效备战
  • Vue 接口请求 Nginx配置实时压缩 速度起飞
  • LVGL Arc控件和Roller控件详解
  • 【Java多线程】告别线程混乱!深度解析Java多线程4大实现方式(附实战案例)
  • Spring Boot 3.4.3 和 Spring Security 6.4.2 结合 JWT 实现用户登录
  • 青少年编程考试 CCF GESP图形化编程 四级认证真题 2025年3月
  • 基于SpringBoot的家教管理系统【附源码】
  • 拖拽实现3
  • Docker 安装redis
  • Docker--利用dockerfile搭建mysql主从集群和redis集群
  • 织梦wap模板自适应手机网站dedecms模板下载/免费网络推广100种方法
  • 免费的app推广平台/搜索引擎优化seo
  • 北京网站开发公司哪家好/北京seo代理计费
  • 石家庄城市建设投资中心网站/html+css网页制作成品
  • 最新手机资讯/广州网站优化方式
  • 众筹网站建设报价/seo服务公司怎么收费