【Python数据处理专题】数据处理和分析的基本流程

Python空间数据处理实战 前言 百度网盘视频:https://pan.baidu.com/s/1moFYT1lt-YazLGY9AGmm-g 优酷视频集合: Python基础 开发环境搭建及基本数据类型 运算符及字符串 序列与字典 流程控制语句 函数 面向对象编程初识 面向对象编程高级 Python科学计算 空间数据处理环境搭建 空间数据基础 空... 阅读详情

儒冠多误身

2019.04.20个人总结

  • 第一步:备份源数据到其他盘符、硬盘、u盘、网盘等
  1. 需求分析
  2. 数据提取
  3. 数据清洗
  4. 数据分析
  5. 报告撰写
  6. 报告分享
  7. 投入应用收集反馈

文章目录

1. 目标确定

2. 数据获取

数据来源

  • 数据可信度

3. 数据清洗

3.1 预处理

3.1.1 读取

pd.read_csv('demo.csv',na_values=['XYZ','NA','-999',0])

3.1.2 观察

  • 基本框架

    .shape
    .info()
    .head()
    pd.value_counts(df['col'])
    df['col'].value_counts()
    
  • 数据特征

    • 连续型数据
    • 离散型数据
  • 索引值是可以重复的

    df.index.is_unique
    
  • 重命名

    df.rename(index=str.lower,columns={
         
         'col1':'a','col2':'b'})
    

3.1.3 关联

  • pd.merge(),相当于SQL的join

    pd.merge(left,right,left_on=,right_on=,suffixes=('_x','__y'))
    
  • pd.concat(),堆叠

    pd.concat([df1,df2,df3,s1],axis=1)# index
    pd.concat([s1,s2,s3])
    
    • axis=0,columns
  • df1.join(df2),按照index连接

  • df1.combine_first(df2),修补

    • 结果会同时包含df1和df2的行与列
    • df1的缺失值NaN,会被df2对应位置的数值修补
    def func(x):
        a = str(x)
        return pd.Series(a+'_a')
    df_new=df['col'].apply(func)
    df_new.rename(columns={
         
         })
    df.combine_first(df_new)
    
  • s1.combine_first(s2)修补

  • np.concatenate([arr1,arr2])

    • axis=1,左右连接
    • axis-0,堆叠
  • map函数

    • a = {
             
             'col1_1':'a','col1_3':'c'}
      df['col1'].map(a)
      

3.2 缺失值

3.2.1 缺失值统计

  • 是否有缺失值

    • 缺失的原因
  • 诊断

    len(df['col'].unique())
    len(df)
    df['col'].duplicatd()
    df['col'].drop_duplicates()
    df.drop_duplicates(subset=['col1','col3'],keep=False,inpalce=True)
    
    df.isnull().values.any()
    df.isnull().any()
    df['col'].isnull()
    df['col'].isnull().values.any()
    
  • 统计

    df.isnull().sum()
    df.isnull().sum().sum()
    df.isnull().sum() / df.count()# 缺失值占比
    

3.2.2 缺失值填充

  • 舍弃

    df.dropna()
    df.dropna(how='any')
    df.dropna(thresh = 3)# 每行缺失值超过3个的都舍弃
    df.dropna(how='all',axis=1)# 列
    
  • 填充

    df.fillna(0)
    df.fillna({
         
         'col1':1,'col3':11})
    df.fillna(method='ffill')
    df.fillna(method='bfill',limit=3)# 限制填充数量
    
    df['col'].fillna(df['col'].mean())
    df['col'].fillna(df.groupby('col')[].transform('mean'))#其结构与df的结构一致
    
  • 内插法补齐[处理有规律数据,时间戳等]

    df.interpolate()
    

3.3 重复值

  • 统计

    df.duplicated(subset=['col1','col3']).value_counts()
    
  • 先排序,再去重

    df.sort_values(by='col1').dropduplicates(subset=['col2','col3'])
    
    • 排序会将col1列NaN值放在最下面,可确保去重时不会将该列为NaN的值保留
    • 因为去重时,默认保留第一次出现的行
  • 去重的用法

    DataFrame.drop_duplicates(subset=None, keep='first', inplace=False)
    
    • keep,默认:删除重复项并保留第一次出现的元素
      • 'first','last','False',False:一行都不保留

3.4 转换

3.4.1 格式转换

  • 要注意判断,是否包含不能转换的元素

    df.col.astype()
    

3.4.2 字符串转换

3.4.2.1 拆分字符串
  • 拆分字符串

    Series.str.split(pat=None,
                     n=-1,
                     expand=False)
    
    • pat:分隔符,默认为所有空字符,包括空格、换行符\n、制表符\t
    • n:切几刀,默认-1,有多少切多少
    • expand=
      • False,返回Series
      • True,返回DataFrame
      • 结合df1.combine_first(df_new)
        • 注意column的名称
  • 统计长度不为N的元素的个数

    df1 
数据处理流程总结 一.数据分析 1.什么是数据分析? 2.数据分析的分类 3.数据分析的三大作用 现状分析、原因分析、预测分析。 4.数据分析的流程 1.问题的定义:明确目的和思路(具有数据思维) 问正确的问题往往是成功的一半。——邱老师 首先你需要确定去分析的问题是什么?你想得出哪些结论?即,先明确分析目的:问题的定义可能需要你去了解业务的核心知识,并从中获得一些可以帮助你进行分析的经验。 然后梳理分析思路... 阅读详情

相关推荐

数据分析基本流程有哪些?附零基础自学教程!

数据分析基本流程有哪些?附零基础自学教程!

python03012的博客 7838

python数据处理与分析案例,python数据处理程序代码

案例背景对 App 下载和评分数据分析,帮助 App 开发者获取和留存用户通过对应用商店的数据分析为开发人员提供可操作的意见分析需求免费和收费的 App 都集中在哪些类别收费 App 的价格是如何分布的,不同类别的价格分布怎样App文件的大小和价格以及用户评分之间是否有关分析流程1)数据概况分析数据行/列数量缺失值分布2)单变量分析数字型变量的描述指标(平均值,最小值,最大值,标准差等)类别型变量(多少个分类,各自占比)3)多变量分析按类别交叉对比变量之间的相关性分析。

nannannanmu的博客 927

Python数据分析之Pandas数据处理技巧详解

Pandas是Python数据分析领域最常用的库之一,它提供了高效的数据结构和丰富的数据操作方法,极大地提升了数据处理和分析的效率。本文将详细介绍Pandas数据处理的常用技巧,包括数据读取与写入、数据选择与过滤、数据清洗、数据合并与分组、以及数据聚合与转换,并通过具体的示例代码展示这些技巧的实际应用。

Rocky006的博客 1160

Python Pandas 数据的医疗数据处理和分析

医疗数据具有其独特的复杂性和敏感性,包括电子健康记录(EHR)、医学影像数据、实验室结果、基因组数据等多种形式。本文旨在展示如何使用Python Pandas这一强大的数据处理工具,有效地处理和分析这些结构化医疗数据。医疗数据的特性和挑战Pandas在医疗数据处理中的核心功能实际医疗数据分析案例从原始数据到可操作见解的全流程医疗数据特性和Pandas基础数据清洗和预处理技术医疗数据分析方法高级特征工程可视化与报告生成实际案例分析。

AI Python 编程之道的博客 1195

Python Pandas 数据的政府数据处理和分析

政府数据包含了大量关于社会、经济、环境等多方面的信息,对这些数据进行有效的处理和分析,能够为政府决策提供科学依据,提高政府治理能力和公共服务水平。本文章的目的是介绍如何使用 Python 的 Pandas 库对政府数据进行处理和分析,涵盖数据的读取、清洗、转换、统计分析以及可视化等操作。本文首先介绍政府数据处理和分析的背景知识,然后详细讲解 Pandas 的核心概念和操作方法,接着阐述相关的算法原理和数学模型。

AI Python 编程之道的博客 853

Python和ArcPy批量专题图制作实战指南.zip

地理信息系统(GIS)是管理和分析地理空间数据的行业标准工具。然而,在过去十年中,Python语言的引入已经极大地改变了GIS专业人士的工作方式,特别是在自动化、定制和空间数据分析方面。ArcPy是ArcGIS软件的一个Python模块,它为地理信息系统(GIS)提供了广泛的自动化功能。ArcPy允许用户通过Python脚本访问ArcGIS的功能,包括数据管理、地图自动化以及地理处理任务的执行等。它通过提供一系列函数、类以及模块,使得GIS任务可以被自动执行或集成到其他系统中。

weixin_28931507的博客 1165

雷电模拟器+Google Play服务配置全指南:从安装到定位问题解决

本文详细介绍了雷电模拟器配置Google Play服务的全流程,包括版本选择、组件安装、定位服务调试及网络问题排查。针对安卓开发者的常见挑战,提供从基础到高级的解决方案,帮助优化测试环境稳定性与定位精度。

weixin_30399821的博客 1254

达梦数据守护集群监视器详解与应用指南

主库/备库:承担读写和只读服务的数据节点Redo 日志:记录数据库变更的核心日志Redo 日志传输:主备库间的日志同步机制Redo 日志重演:备库重做日志的应用过程守护进程 (dmwatcher):实例级别的监控和管理组件监视器 (dmmonitor):集群级别的监控和管理工具监视器作为数据守护系统的重要组成部分,提供了集群监控、故障管理和状态确认等关键功能。达梦数据守护集群监视器是维护数据库高可用性的关键工具。

huanhuanzhou blog 1058

f2fs学习笔记 - 3. F2FS文件系统布局

目录1.前言2.F2FS布局说明2.1. super block(block 0x0 ~ block 0x1ff)2.2 CP(block 0x200 ~ block 0x5ff)cp page1nat journalsit journaldata summarycurrent hot node summarycurrent warm node summarycurrent cold node summarycp page22nd checkpoint2.3 SIT(block 0x600 ~ block

HZero 4647

大一Python之循环解决实际问题

pythin之循环解决实际问题

weixin_66263546的博客 2289

深入解析BlueZ5与D-Bus:Linux蓝牙开发实战指南

本文深入解析BlueZ5与D-Bus在Linux蓝牙开发中的核心应用,提供从环境搭建到实战开发的完整指南。通过详细代码示例和调试技巧,帮助开发者掌握蓝牙协议栈与D-Bus接口的交互方法,实现高效蓝牙设备管理与GATT服务开发。

weixin_28292761的博客 454

Android蓝牙中的Rfcomm协议介绍

RFCOMM(Radio Frequency Communications)是一种基于蓝牙技术的串口仿真协议,以下是详细介绍:一、协议概述二、工作原理三、应用场景

手机-手表蓝牙开发工程师的博客 714

比NTP还牛逼的时间同步协议:1588v2,亚微秒级!

1588v2,又称为Precision Time Protocol Version 2,即精密时间协议的第二版本,或称为PTPv2,是一种精密时间同步协议标准,旨在实现网络中设备之间的高精度时间同步。该协议由IEEE标准组织发布,并在网络测量和控制系统中得到广泛应用。1588v2的主要目的是在计算机网络中提供高度准确的时间同步。它可用于确保不同设备之间的时钟同步,从而协调它们的操作。这对于需要协同工作的系统、无线通信基站等具有关键性的应用非常重要。

网络技术联盟站 4282

【系统架构设计师】2026年上半年真题论文:论高并发系统的设计与实践

本文围绕高并发系统架构设计展开,重点论述了电商秒杀系统的实战经验。文章采用"痛点-解决方案-效果"的逻辑结构,从缓存设计、异步处理、限流降级、数据库优化等6个维度详细阐述了应对高并发的技术策略。其中,重点介绍了多级缓存体系、基于消息队列的异步处理机制和微服务拆分实践,并辅以实际案例说明如何解决超卖、缓存雪崩等典型问题。全文强调高并发设计需要系统性思维,通过空间换时间、异步换吞吐、横向换能力等原则,最终实现系统吞吐量从500TPS提升至20000TPS的性能突破。

数据知道的博客 1160

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 【2019】数据来源
下一篇: 数据分析-专业术语
儒冠多误身
博客等级 码龄8年 12粉丝 24原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值