Pandas中数据的处理
有两种丢失数据
——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中数据的处理的更多相关文章
- pandas中数据框DataFrame获取每一列最大值或最小值
1.python中数据框求每列的最大值和最小值 df.min() df.max()
- pandas中数据聚合【重点】
数据聚合 数据聚合是数据处理的最后一步,通常是要使每一个数组生成一个单一的数值. 数据分类处理: 分组:先把数据分为几组 用函数处理:为不同组的数据应用不同的函数以转换数据 合并:把不同组得到的结果合 ...
- pandas中数据框的一些常见用法
1.创建数据框或读取外部csv文件 创建数据框数据 """ 设计数据 """ import pandas as pd data = {&qu ...
- 在Pandas中直接加载MongoDB的数据
在使用Pandas进行数据处理的时候,我们通常从CSV或EXCEL中导入数据,但有的时候数据都存在数据库内,我们并没有现成的数据文件,这时候可以通过Pymongo这个库,从mongoDB中读取数据,然 ...
- (数据科学学习手札52)pandas中的ExcelWriter和ExcelFile
一.简介 pandas中的ExcelFile()和ExcelWriter(),是pandas中对excel表格文件进行读写相关操作非常方便快捷的类,尤其是在对含有多个sheet的excel文件进行操控 ...
- (数据科学学习手札68)pandas中的categorical类型及应用
一.简介 categorical是pandas中对应分类变量的一种数据类型,与R中的因子型变量比较相似,例如性别.血型等等用于表征类别的变量都可以用其来表示,本文就将针对categorical的相关内 ...
- (数据科学学习手札69)详解pandas中的map、apply、applymap、groupby、agg
*从本篇开始所有文章的数据和代码都已上传至我的github仓库:https://github.com/CNFeffery/DataScienceStudyNotes 一.简介 pandas提供了很多方 ...
- Pandas中查看列中数据的种类及个数
Pandas中查看列中数据的种类及个数 读取数据 import pandas as pd import numpy as np filepath = 'your_file_path.csv' data ...
- Pandas中DataFrame数据合并、连接(concat、merge、join)之merge
二.merge:通过键拼接列 类似于关系型数据库的连接方式,可以根据一个或多个键将不同的DatFrame连接起来. 该函数的典型应用场景是,针对同一个主键存在两张不同字段的表,根据主键整合到一张表里面 ...
随机推荐
- vue中做出购物车的功能
效果展示: 一:html结构 <div id="buyButton" class="btn-buy"> <button onclick=&qu ...
- B.Icebound and Sequence
链接:https://ac.nowcoder.com/acm/contest/903/B 题意: Icebound hates math. But Imp loves math. One day, I ...
- Codeforces 161A(贪心)
要点 我在想贪心是对的那要二分图何用,自己的想法是:二分图最开始并不知道怎么匹配最好所以就按输入顺序连了,之后慢慢修改:而这道匹配也成对匹配但从一开始你就可以知道选哪个最划算,就是贪心地选最小的.不必 ...
- 058 Length of Last Word 最后一个单词的长度
给定一个字符串, 包含大小写字母.空格 ' ',请返回其最后一个单词的长度.如果不存在最后一个单词,请返回 0 .注意事项:一个单词的界定是,由字母组成,但不包含任何的空格.案例:输入: " ...
- (转)linux下控制帐户过期的多种方法
linux下控制帐户过期的方法:原文:http://blog.51cto.com/oldboy/1289144企业里一般给无人管理的角色账户或开发人员临时需求等可以设定账户有效期,提升安全!法一:添加 ...
- nodejs 实践:express 最佳实践(六) express 自省获得所有的路由
nodejs 实践:express 最佳实践(六) express 自省获得所有的路由 某些情况下,你需要知道你的应用有多少路由,这在 express 中没有方法可以.因此我这边曲线了一下,做成了一个 ...
- 基于Java实现的快速排序
简述 快速排序是一种排序执行效率很高的排序算法,它利用分治法来对待排序序列进行分治排序,它的思想主要是通过一趟排序将待排记录分隔成独立的两部分,其中的一部分比关键字小,后面一部分比关键字大,然后再对这 ...
- Spring Boot自动配置原理与实践(一)
前言 Spring Boot众所周知是为了简化Spring的配置,省去XML的复杂化配置(虽然Spring官方推荐也使用Java配置)采用Java+Annotation方式配置.如下几个问题是我刚开始 ...
- mongodb的投影
mongodb 投影意思是只选择必要的数据而不是选择一个文件的数据的整个.如果一个文档有5个字段,需要显示只有3个,然后选择其中只有3个字段. find() 方法 MongoDB 的find()方法, ...
- Kendo UI Validator 概述
Kendo UI Validator 概述 Kendo UI Validator 支持了客戶端校驗的便捷方法,它基於 HTML 5 的表單校驗功能,支持很多內置的校驗規則,同時也提供了自定義規則的便捷 ...