有两种丢失数据

——None

——np.nan(NaN)

None是python自带的,其类型为python object。因此,None不能参与到任何计算中

Object类型的运算比int类型的运算慢的多

计算不同数据类型求和时间

%timeit np.arange(1e5,dtype=xxx).sum()

%timeit是指python表达式或语句的执行时间

Pandas中的none与np.nan都视作np.nan

数据清洗

df.loc[index,column] ------>元素索引,肯定可以修改

df[column][index] --------->列是属性,肯定可以修改

df.loc[index][column] ----->从df中取出了样本,对取出来的数据进行了修改,原数据没变

现获取列,在获取行

如:df["python"][3] = np.nan

先获取行,再获取列

df.loc[3]["python"] = np.nan

先获取行,是将样本数据取出来,在内存中的内存地址就不一样了,修改数据失败

df.loc[3,5] =np.nan

Pandas中None与np.NaN的操作

Isnull():判断是否有空数据

Notnoll():判断是否没有空数据

Dropna():过滤丢失数据

Fillna():填充丢失数据

(1)判断函数Isnull()和Notnull()

查找空数据

如:cond=df.isnull().any(axis=1)

df[cond]

过滤掉空数据

如:cond = df.notnull().all(axis=1)

df[cond]

(2)过滤函数Dropna()

如:df.dropna(),删除df表中的含有空数据的样本

可以选则过滤的是行还是列(默认过滤行)

也可以选择过滤的方式how=“all”

(3)数据填充fillna()

Fillna()属性

['value=None', 'method=None', 'axis=None', 'inplace=False', 'limit=None', 'downcast=None', '**kwargs']

 

对浮点数小数位数进行限定

pd.set_option("display.float_format",lambda x:"%0.1f"%(x))     #保留一位为%0.1,保留两位为%0.2,以此类推

注意:

1.对于空数据,一般进行填充时填充该列的平均值、中位数、众数进行填充。

2.对于和是用什么数据进行填充还得根据实际情况来决定

3.正态分布使用平均值和中位数差别不大。

**计算平均数的用mean()

如:value=df.mean()

df.fillna(value)

**计算中位数用:median()

如:value1 = df.median()

df.fillna(value1)

填充数据可选择行方向和列方向的向前填充或是向后填充

df.fillna(method="bfill",axis=1)#向后填充

df.fillna(method="ffill",axis=1) #向前填充

df.fillna(value=values,limit=1)  #限制填充的行数,默认从第一行开始

**统计众数:np.unique(s)

使用众数进行填充同上

Pandas中文件的读取和写入

将数据存储到csv格式的文本

s1.to_csv("./data1.csv",sep=',',index = False)

#存成csv格式,csv就是txt格式,用逗号进行分割,index表示是否将索引也存储进去

#注意重点是sep分隔符和index索引的设置

将csv格式的文本数据导入到jupyter中

如:pd.read_csv("./data1.csv")

将数据存储成html格式

s3.to_html("./data.html")

pd.read_excel(“./data.htm”)

将文件存储成json格式

s3.to_json("./data.json")

pd.read_json("./data.json")

将文件存储成excel格式的文件

s3.to_excel("./data.xls")

pd.read_excel("./data.xls")

有两种丢失数据

——None

——np.nan(NaN)

None是python自带的,其类型为python object。因此,None不能参与到任何计算中

Object类型的运算比int类型的运算慢的多

计算不同数据类型求和时间

%timeit np.arange(1e5,dtype=xxx).sum()

%timeit是指python表达式或语句的执行时间

Pandas中的none与np.nan都视作np.nan

数据清洗

df.loc[index,column] ------>元素索引,肯定可以修改

df[column][index] --------->列是属性,肯定可以修改

df.loc[index][column] ----->从df中取出了样本,对取出来的数据进行了修改,原数据没变

现获取列,在获取行

如:df["python"][3] = np.nan

先获取行,再获取列

df.loc[3]["python"] = np.nan

先获取行,是将样本数据取出来,在内存中的内存地址就不一样了,修改数据失败

df.loc[3,5] =np.nan

Pandas中None与np.NaN的操作

Isnull():判断是否有空数据

Notnoll():判断是否没有空数据

Dropna():过滤丢失数据

Fillna():填充丢失数据

(1)判断函数Isnull()和Notnull()

查找空数据

如:cond=df.isnull().any(axis=1)

df[cond]

过滤掉空数据

如:cond = df.notnull().all(axis=1)

df[cond]

(2)过滤函数Dropna()

如:df.dropna(),删除df表中的含有空数据的样本

可以选则过滤的是行还是列(默认过滤行)

也可以选择过滤的方式how=“all”

(3)数据填充fillna()

Fillna()属性

['value=None', 'method=None', 'axis=None', 'inplace=False', 'limit=None', 'downcast=None', '**kwargs']

 

对浮点数小数位数进行限定

pd.set_option("display.float_format",lambda x:"%0.1f"%(x))

对于空数据,一般进行填充时填充该列的平均值、中位数、众数进行填充。

对于和是用什么数据进行填充还得根据实际情况来决定

正态分布使用平均值和中位数差别不大。

**计算平均数的用mean()

如:value=df.mean()

df.fillna(value)

**计算中位数用:median()

如:value1 = df.median()

df.fillna(value1)

填充数据可选择行方向和列方向的向前填充或是向后填充

df.fillna(method="bfill",axis=1)#向后填充

df.fillna(method="ffill",axis=1) #向前填充

df.fillna(value=values,limit=1)  #限制填充的行数,默认从第一行开始

**统计众数:np.unique(s)

使用众数进行填充同上

Pandas中文件的读取和写入

将数据存储到csv格式的文本

s1.to_csv("./data1.csv",sep=',',index = False)

#存成csv格式,csv就是txt格式,用逗号进行分割,index表示是否将索引也存储进去

#注意重点是sep分隔符和index索引的设置

将csv格式的文本数据导入到jupyter中

如:pd.read_csv("./data1.csv")

将数据存储成html格式

s3.to_html("./data.html")

pd.read_excel(“./data.htm”)

将文件存储成json格式

s3.to_json("./data.json")

pd.read_json("./data.json")

将文件存储成excel格式的文件

s3.to_excel("./data.xls")

pd.read_excel("./data.xls")

Pandas中数据的处理的更多相关文章

  1. pandas中数据框DataFrame获取每一列最大值或最小值

    1.python中数据框求每列的最大值和最小值 df.min() df.max()

  2. pandas中数据聚合【重点】

    数据聚合 数据聚合是数据处理的最后一步,通常是要使每一个数组生成一个单一的数值. 数据分类处理: 分组:先把数据分为几组 用函数处理:为不同组的数据应用不同的函数以转换数据 合并:把不同组得到的结果合 ...

  3. pandas中数据框的一些常见用法

    1.创建数据框或读取外部csv文件 创建数据框数据 """ 设计数据 """ import pandas as pd data = {&qu ...

  4. 在Pandas中直接加载MongoDB的数据

    在使用Pandas进行数据处理的时候,我们通常从CSV或EXCEL中导入数据,但有的时候数据都存在数据库内,我们并没有现成的数据文件,这时候可以通过Pymongo这个库,从mongoDB中读取数据,然 ...

  5. (数据科学学习手札52)pandas中的ExcelWriter和ExcelFile

    一.简介 pandas中的ExcelFile()和ExcelWriter(),是pandas中对excel表格文件进行读写相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控 ...

  6. (数据科学学习手札68)pandas中的categorical类型及应用

    一.简介 categorical是pandas中对应分类变量的一种数据类型,与R中的因子型变量比较相似,例如性别.血型等等用于表征类别的变量都可以用其来表示,本文就将针对categorical的相关内 ...

  7. (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg

    *从本篇开始所有文章的数据和代码都已上传至我的github仓库:https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 pandas提供了很多方 ...

  8. Pandas中查看列中数据的种类及个数

    Pandas中查看列中数据的种类及个数 读取数据 import pandas as pd import numpy as np filepath = 'your_file_path.csv' data ...

  9. Pandas中DataFrame数据合并、连接(concat、merge、join)之merge

    二.merge:通过键拼接列 类似于关系型数据库的连接方式,可以根据一个或多个键将不同的DatFrame连接起来. 该函数的典型应用场景是,针对同一个主键存在两张不同字段的表,根据主键整合到一张表里面 ...

随机推荐

  1. Oracle共享服务器的连接模式

    一般Oracle数据库安装默认都是选择专用服务器模式的连接方式,但实际上Oracle也支持共享服务器的连接模式,不过这种在实际生产中见到的很少,我个人只在一些医院行业的客户生产环境中见到过这类配置. ...

  2. 微信分账功能与微信支付企业付款相关内容详解(payjs版)

    PAYJS开通微信分账功能以来,有很多同学咨询相关情况.很多同学关心有没有什么办法,可以让自己的商户号快速开通企业付款功能.这里就介绍下微信分账的具体相关内容,可以完美解决问题. 一.什么是微信分账? ...

  3. eclipse 通过svn导入maven工程

    http://blog.csdn.net/zdnlp/article/details/7238194

  4. OSU!

    题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; inline ll read(){ ,f= ...

  5. Vue实例生命周期+vueRoter

    Vue实例生命周期 vue生命周期之beforeCreate 实例创建之前除标签外,所有的vue需要的数据,事件都不存在 vue生命周期之created 实例创建之后,data和事件已经被解析到,el ...

  6. BZOJ 4668: 冷战 并查集&&暴力LCA(雾)

    利用并查集按秩合并,保存每个点合并的时间: 求时间时,就一直跳u=fa[u],并记录路径上时间的最大值,代表最后一次合并的时间 #include<cstdio> #include<i ...

  7. Codeforces 140D(贪心)

    要点 跟大家打acm的策略一样,为了做更多的题数肯定做最简单的题目,为了罚时更少肯定从易到难做 虽然有个12:00之限不同于往常比赛,但细想还是要从易到难贪:做这些题的总时间肯定是不变的,只是顺序可变 ...

  8. 一篇关于完全动态凸包的paper(侵删)

    先放原文,挖个坑,到时候再来说人话ε=(´ο`*))) 作者:Franco P. Preparata 出处:Computational geometry An introduction The tec ...

  9. mysql issue:

    ####0 https://yq.aliyun.com/ziliao/53466 首先,很荣幸你找到了这篇文章... 如果你忘记了mysql的密码不妨试试以下这个方法. 1.打开my.cnf  代码如 ...

  10. 无线网路由器的dBm值

    首先,我们需要知道的是无线信号 dbm都是负数,最大是0:dbm值只在一种情况下为0,那就是在理想状态下经过实验测量的结果,一般我们认为 dbm为0是其最大值,意味着接收方把发射方发射的所有无线信号都 ...