Python 数据分析:Pandas 缺省值的判断

背景

我们从数据库中取出数据存入 Pandas None 转换成 NaN 或 NaT。但是,我们将 Pandas 数据写入数据库时又需要转换成 None,不然就会报错。因此,我们就需要处理 Pandas 的缺省值。

样本数据

  1. id name password sn sex age amount content remark login_date login_at created_at
  2. 0 1 123456789.0 NaN NaN NaN 20 NaN NaN NaN NaN NaT 2019-08-10 10:00:00
  3. 1 2 NaN NaN NaN NaN 20 NaN NaN NaN NaN NaT 2019-08-10 10:00:00

判断缺省值

如果 column 是缺省值,则统一处理为 None。

  1. def judge_null(column):
  2. if pd.isnull(column):
  3. return None
  4. return column

处理缺省值

按列处理缺省值。

  1. df['id'] = df.apply(lambda row: judge_null(row['id']), axis=1)
  2. df['name'] = df.apply(lambda row: judge_null(row['name']), axis=1)
  3. df['password'] = df.apply(lambda row: judge_null(row['password']), axis=1)
  4. df['sn'] = df.apply(lambda row: judge_null(row['sn']), axis=1)
  5. df['sex'] = df.apply(lambda row: judge_null(row['sex']), axis=1)
  6. df['age'] = df.apply(lambda row: judge_null(row['age']), axis=1)
  7. df['amount'] = df.apply(lambda row: judge_null(row['amount']), axis=1)
  8. df['content'] = df.apply(lambda row: judge_null(row['content']), axis=1)
  9. df['remark'] = df.apply(lambda row: judge_null(row['remark']), axis=1)
  10. df['login_date'] = df.apply(lambda row: judge_null(row['login_date']), axis=1)
  11. df['login_at'] = df.apply(lambda row: judge_null(row['login_at']), axis=1)
  12. df['created_at'] = df.apply(lambda row: judge_null(row['created_at']), axis=1)

处理完成之后的数据

  1. id name password sn sex age amount content remark login_date login_at created_at
  2. 0 1 123456789.0 None None None 20 None None None None None 2019-08-10 10:00:00
  3. 1 2 None None None None 20 None None None None None 2019-08-10 10:00:00

补充

设置显示所有的行、列及值得长度。

  1. # 显示所有列
  2. pd.set_option('display.max_columns', None)
  3. # 显示所有行
  4. pd.set_option('display.max_rows', None)
  5. # 设置value的显示长度为100,默认为50
  6. pd.set_option('max_colwidth', 100)

对应的数据库建表语句

  1. create table test
  2. (
  3. id int(10) not null primary key,
  4. name varchar(32) null,
  5. password char(10) null,
  6. sn bigint null,
  7. sex tinyint(1) null,
  8. age int(5) null,
  9. amount decimal(10, 2) null,
  10. content text null,
  11. remark json null,
  12. login_date date null,
  13. login_at datetime null,
  14. created_at timestamp null
  15. );

Python 数据分析:Pandas 缺省值的判断的更多相关文章

  1. Python数据分析--Pandas知识点(三)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...

  2. Python数据分析--Pandas知识点(二)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) 下面将是在知识点一的基础上继续总结. 13. 简单计算 新建一个数据表 ...

  3. Python数据分析-Pandas(Series与DataFrame)

    Pandas介绍: pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的. Pandas的主要功能: 1)具备对其功能的数据结构DataFrame.Series 2)集成时间序 ...

  4. Python数据分析Pandas库数据结构(一)

    pandas数据结构 1.生成一维矩阵模拟数据 import pandas as pdimport numpy as nps = pd.Series([1,2,3,4,np.nan,9,9])s2 = ...

  5. python 数据分析--pandas

    接下来pandas介绍中将学习到如下8块内容:1.数据结构简介:DataFrame和Series2.数据索引index3.利用pandas查询数据4.利用pandas的DataFrames进行统计分析 ...

  6. Python数据分析Pandas库方法简介

    Pandas 入门 Pandas简介 背景:pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,旨在使“关系”或“标记”数据的使用既简单又直观.它旨在成为在Python中进行实际, ...

  7. Python数据分析Pandas库之熊猫(10分钟二)

    pandas 10分钟教程(二) 重点发法 分组 groupby('列名') groupby(['列名1','列名2',.........]) 分组的步骤 (Splitting) 按照一些规则将数据分 ...

  8. Python数据分析Pandas库之熊猫(10分钟一)

    pandas熊猫10分钟教程 排序 df.sort_index(axis=0/1,ascending=False/True) df.sort_values(by='列名') import numpy ...

  9. Python数据分析中对重复值、缺失值、空格的处理

    对重复值的处理 把数据结构中,行相同的数据只保留一行 函数语法: drop_duplicates() from pandas import read_csv df = read_csv(文件位置) n ...

随机推荐

  1. CF Round #576 (Div. 2) Matching vs Independent Set

    链接:Click here 题目意思:给你一个图,有3n个点,m条边,求是否有n条匹配边或n个独立点,其中匹配为没有公共点,独立为不相连 Solution: 考虑每个点对于第一种情况,最多只能贡献一次 ...

  2. vue相关基础知识

    参考文章: Vue 项目里戳中你痛点的问题及解决办法(更新) vue中前进刷新.后退缓存用户浏览数据和浏览位置的实践

  3. Oracle-SQL程序优化3

    最近一个星期ETL无论在凌晨或是在中午的JOB执行过程中经常卡住,导致不能按时完成系统引擎的运行,对业务产生影响. 通过生成AWR报告,发现有三条SQL消耗大量的CPU,而且还没有执行完成被终止的.如 ...

  4. 《Effective Java》读书笔记 - 6.枚举和注解

    Chapter 6 Enums and Annotations Item 30: Use enums instead of int constants Enum类型无非也是个普通的class,所以你可 ...

  5. 第三周课程总结&实验报告(一)

    实验报告(一) 1.打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个"水仙花数" ...

  6. jQuery file upload cropper的 click .preview事件没有绑定成功

    测试 修改https://github.com/tkvw/jQuery-File-Upload/blob/master/basic-plus.html var node = $('<p id=& ...

  7. webpack安装低于4版本(没有配置webpack.config.js)

    webpack安装低于4版本(没有配置webpack.config.js) webpack 无需配置输出参数-o 低版本  1.初始化项目 npm init -y 初始化项目 2.安装webpack@ ...

  8. 【C++ STL 优先队列priority_queue】

    https://www.cnblogs.com/fzuljz/p/6171963.html

  9. 自建 CA 中心并签发 CA 证书

    目录 文章目录 目录 CA 认证原理浅析 基本概念 PKI CA 认证中心(证书签发) X.509 标准 证书 证书的签发过程 自建 CA 签发证书并认证 HTTPS 网站的过程 使用 OpenSSL ...

  10. div动画旋转效果

    animation: spin 10s linear infinite;