Pandas 数据清洗常用篇

一.缺失值

sklearn中的preprocessing下游imputer,可进官方文档参考。这里主讲pandas。
拿到数据,一般先检查是否有缺失值,用isnul()或notnull().
再决定dropna(),还是fillna()。

1.1 检查是否有缺失值 isnull()、notnull()

import pandas as pd
import numpy as np
df = pd.DataFrame({"col_1":[1, 2, 3, 666, 1480],
                  "col_2":[125, 999, 110, np.nan, 300],
                  "col_3":[1389, np.nan, np.nan, np.nan, 0]})
df

.dataframe thead tr:only-child th {
text-align: right;
}

.dataframe thead th {
text-align: left;
}

.dataframe tbody tr th {
vertical-align: top;
}

col_1 col_2 col_3
0 1 125.0 1389.0
1 2 999.0 NaN
2 3 110.0 NaN
3 666 NaN NaN
4 1480 300.0 0.0
df.isnull()    #询问每一个值是不是为NaN.

.dataframe thead tr:only-child th {
text-align: right;
}

.dataframe thead th {
text-align: left;
}

.dataframe tbody tr th {
vertical-align: top;
}

col_1 col_2 col_3
0 False False False
1 False False True
2 False False True
3 False True True
4 False False False
df.notnull()   #询问每一个值是不是不为NaN,跟上面的相反就是了

.dataframe thead tr:only-child th {
text-align: right;
}

.dataframe thead th {
text-align: left;
}

.dataframe tbody tr th {
vertical-align: top;
}

col_1 col_2 col_3
0 True True True
1 True True False
2 True True False
3 True False False
4 True True True

1.2 假设要删除缺失值dropna()

考虑如何删,删行?删列?还是缺失多少个才删?
DataFrame.dropna(axis=0, how=‘any‘, thresh=None, subset=None, inplace=False)

  • axis:决定删行删列,默认axis=0,删行;删列要修改axis=1.
  • how:决定怎么删,至少有一个NaN就删,还是全是NaN才删。default "any",只要有NA,马上删掉该行或该列。"all",全是NA时才删掉这一行或一整列。
  • thresh : 设置该行或列至少有多少个非NA值才能保留下来,有点拗口。输入整数,这个参数有必要才设置,没有就不用管。
  • subset : array-like, optional
    Labels along other axis to consider, e.g. if you are dropping rows these would be a list of columns to include.
  • inplace : 是否直接取代原数据框,默认False,所以我们真要除去行列,会inplace=True,或者给它新赋值到一个变量中。
df.dropna()

.dataframe thead tr:only-child th {
text-align: right;
}

.dataframe thead th {
text-align: left;
}

.dataframe tbody tr th {
vertical-align: top;
}

col_1 col_2 col_3
0 1 125.0 1389.0
4 1480 300.0 0.0

ing~~~

原文地址:https://www.cnblogs.com/wyy1480/p/10486820.html

时间: 2024-10-20 19:55:02

Pandas 数据清洗常用篇的相关文章

pandas学习(常用数学统计方法总结、读取或保存数据、缺省值和异常值处理)

pandas学习(常用数学统计方法总结.读取或保存数据.缺省值和异常值处理) 目录 常用数学统计方法总结 读取或保存数据 缺省值和异常值处理 常用数学统计方法总结 count 计算非NA值的数量 describe 针对Series或DataFrame列计算统计 min/max/sum 计算最小值 最大值 总和 argmin argmax 计算能够获取到最小值和最大值的索引位置(整数) idxmin idxmax 计算能够获取到最小值和最大值的索引值 quantile 计算样本的分位数(0到1)

总结(5)--- Numpy和Pandas库常用函数

二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准数学函数(无需编写循环). 用于读写磁盘数据的工具以及用于操作内存映射文件的工具. 线性代数.随机数生成以及傅里叶变换功能. 用于集成C.C++.Fortran等语言编写的代码的工具. 首先要导入numpy库:import numpy as np A NumPy函数和属性: 类型 类型代码 说明 i

Pandas里面常用的一些数据分析函数总结

import pandas as pdimport numpy as np pandas 有两个主要的数据结构:Series 和 DataFrame:Series 是一个一维数组对象 ,它包含一组索引和一组数据,可以把它理解为一组带索引的数组.DataFrame 是一个表格型的数据结构.它提供有序的列和不同类型的列值. df:Pandas DataFrame对象s: Pandas Series对象 数据导入: pd.read_csv(filename):从csv文件中导入数据; pd.read_

2.pandas数据清洗

pandas是用于数据清洗的库,安装配置pandas需要配置许多依赖的库,而且安装十分麻烦. 解决方法:可以用Anaconda为开发环境,Anaconda内置了许多有关数据清洗和算法的库. 1.安装pandas首先需要安装Numpy和python-dateutil(可以直接在控制控制台pip安装),然后再配置pandas.2.安装好Anaconda后,启用命令行窗口输入 jupyter notebook.3.在默认浏览器新建jupyter,配置jupyter界面右侧new下拉列表,选择pytho

数据分析之pandas教程-----概念篇

目录 1  pandas基本概念 1.1  pandas数据结构剖析 1.1.1  Series 1.1.2  DataFrame 1.1.3  索引 1.1.4  pandas基本操作 1.1.4.1  重索引 1.1.4.2  丢弃一行或者一列 1.1.4.3  数据选取 1.1.4.4  数据对齐 1.1.5  pandas函数简单介绍 1.1.5.1  apply和applymap函数 1.1.5.2  排序函数 1.1.5.3  汇总计算函数 1.1.6  缺失值的处理 1.1.7  

WEB前端资源代码:常用篇

对象的判空 将json对象转化成json字符串,然后进行判断是否等于字符串'{}',直接写{}无法进行判断 let isObject = {}; console.log(JSON.stringify(isObject) == '{}'); 使用for循环来判断,若不为空,则返回false let listObject = { a: 1, b: 3, c: 4 }; function isEmptyObject() { for(let key in listObject) { return fal

Pandas中常用的函数使用

1.离散值的onehot编码 pd.get_dummies() import pandas as pd #对于离散值不能进行编码的利用onehot编码 df = pd.DataFrame([ ['green', 'M', 10.1, 'class1'], ['red', 'L', 13.5, 'class2'], ['blue', 'XL', 15.3, 'class1']]) df.columns = ['color', 'size', 'prize', 'class label'] size

Linux命令之常用篇

一.文件和目录 1. cd命令 它用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径. 指令 说明 cd /home 进入'home'目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd ~user1 进入个人的主目录 cd ~ 返回上次所在的目录 2. pwd命令 指令 说明 pwd 显示工作路径 3. ls命令 查看文件与目录的命令,list的意思. 指令 说明 ls 查看目录中的文件 ls -l 显示文件和目录的详细资料 ls -a 列出

pandas数据清洗(二)

import pandas as pd import numpy as np from pandas import DataFrame import datetime import sys import pymysql import csv from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session, sessionmaker # db = pymysql.connect('localhost',