pandas在进行数据存储与输出时会做一些相应的操作

1.*索引:将一个列或多个列读取出来构成DataFrame,其中涉及是否从文件中读取索引以及列名

2 *类型推断和数据转换:包括用户自定义的转换以及缺失值标记

3 *日期解析

4*迭代:针对大文件进行逐块迭代。这个是Pandas和Python原生的csv库的最大区别

5 *不规整数据问题:跳过一些行,或注释等等
 
 import pandas as pd
import numpy as np pd.read_csv('ch04/ex1.csv') # 它输出的是DataFrame
pd.read_table('ch04/ex1.csv',sep=',') # 它的效果和上一行一样 pd.read_csv('ch04/ex2.csv',header=None,names=['a','b','c','d','msg'])
# 它为读取的文件添加列索引 pd.read_csv('ch04/ex2.csv',header=None,
names=['a','b','c','d','msg'],index_col=['msg','b'])
# 为文件添加列索引后,又将'msg','b'两列变为行索引 pd.read_table('ch04/ex3.csv',sep='\s+')
# 文件中的分隔符用到正则表达式sep='\s+' pd.read_csv('ch04/ex5.csv',
na_values={'message':['NA','NULL','foo'],'something':['two']})
# 读出的文件没有值的默认为NaN值,
# na_values通过字典形式表示message与something中需要变为NaN值的一些位置 pd.read_csv('ch04/ex6.csv',nrows=10)
# 表示只读取10行 # 如果要取出每个索引出现的次数,可以利用chunksize
tr = pd.read_csv('ch04/ex6.csv',chunksize=1000)
# 先取出1000行
# 它返回<pandas.io.parsers.TextFileReader at 0x1b116b02780>支持迭代
result = pd.Series([])
for chunk in tr:
result = result.add(chunk['key'].value_counts(),fill_value=0)
# add方法会为索引对应的数据不存在添加默认值,可以采用fill_value=0填充默认值 result = result.sort_values(ascending=False)
result[:10] # 取出前十大的数

往磁盘读入数据

 import pandas as pd
import numpy as np df = pd.read_csv('ch04/ex5.csv')
df.to_csv('ch04/ex5_out.csv',index=False)
# 如果没有index=False,读取的文件与源文件有差异,给源文件加了索引
# index=False指定不写索引值 df.to_csv('ch04/ex5_out.csv',index=False,
header=None,columns=['b','c','message'],sep='|')
# header=None,不写列标签,只写'b','c','message'三列,每个数字或字符串用'|'分隔开

pandas之数据IO笔记的更多相关文章

  1. pandas 存取数据小笔记

    import pandas as pd 1.   读取和保存 csv文件 #读 df = pd.read_csv(read_file_path, header=0) # 其中read_file_pat ...

  2. 【笔记】Pandas分类数据详解

    [笔记]Pandas分类数据详解 Pandas  Pandas分类数据详解|轻松玩转Pandas(5) 参考:Pandas分类数据详解|轻松玩转Pandas(5)

  3. 【转载】使用Pandas对数据进行筛选和排序

    使用Pandas对数据进行筛选和排序 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas对数据进行筛选和排序 目录: sort() 对单列数据进行排序 对多列数据进行排序 获取金额最小前10项 ...

  4. 【转载】使用Pandas进行数据提取

    使用Pandas进行数据提取 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据提取 目录 set_index() ix 按行提取信息 按列提取信息 按行与列提取信息 提取特定日期的信 ...

  5. 【转载】使用Pandas进行数据匹配

    使用Pandas进行数据匹配 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas进行数据匹配 目录 merge()介绍 inner模式匹配 lefg模式匹配 right模式匹配 outer模式 ...

  6. 【转载】使用Pandas创建数据透视表

    使用Pandas创建数据透视表 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas创建数据透视表 目录 pandas.pivot_table() 创建简单的数据透视表 增加一个行维度(inde ...

  7. 转载:使用Pandas进行数据匹配

    使用Pandas进行数据匹配 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas进行数据匹配 目录 merge()介绍 inner模式匹配 lefg模式匹配 right模式匹配 outer模式 ...

  8. python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)

    2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...

  9. 利用Python进行数据分析(12) pandas基础: 数据合并

    pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...

随机推荐

  1. 微信小程序入门与实战 常用组件API开发技巧项目实战*全

    第1章 什么是微信小程序? 第2章 小程序环境搭建与开发工具介绍 第3章 从一个简单的“欢迎“页面开始小程序之旅 第4章 第二个页面:新闻阅读列表 第5章 小程序的模板化与模块化 第6章 构建新闻详情 ...

  2. faster-rcnn CUDA8.0编译错误

    之前编译Faster-RCNN的时候用的都是CUDA7.5,最近换了机器,变成了CUDA8.0,果然编译出现错误了…… 参考下面这篇博客解决了问题: http://blog.csdn.net/kexi ...

  3. Spring —— @Async注解的使用

    参考文档 Spring Boot使用@Async实现异步调用:自定义线程池 Spring Boot使用@Async实现异步调用:ThreadPoolTaskScheduler线程池的优雅关闭

  4. PHP fopen/file_get_contents与curl性能比较

    PHP中fopen,file_get_contents,curl 函数的区别: 1.fopen/file_get_contents 每次请求都会重新做 DNS 查询,并不对 DNS 信息进行缓存. 但 ...

  5. keras Dense 层

    文档地址:https://keras.io/layers/core/#dense keras.layers.Dense(units, activation=None, use_bias=True, k ...

  6. SQL-W3School-函数:SQL 函数

    ylbtech-SQL-W3School-函数:SQL 函数 1.返回顶部 1. SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function ...

  7. SpringBoot之封装json对象返回json数据

    /** * @description:封装json对象,所有返回结果都使用它 **/ public class Result<T> { private int code;// 业务自定义状 ...

  8. js Map对象的用法

    第一篇: Map: Map是一组键值对的结构,具有极快的查找速度. 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: var names = ['Michael ...

  9. HTML5 地理位置定位API(3)

    HTML5 地理位置定位实例 这篇文章主要为大家介绍了HTML5地理定位的方法,实例讲述了html5获取坐标完整实现过程, 并对比不同浏览器运行效果给出参考结果,需要的朋友可以参考下 本文实例讲述了h ...

  10. osg fbx模型点击节点,对应节点染色

    class CPickHandler :public osgGA::GUIEventHandler { public: CPickHandler(osgViewer::Viewer *viewer) ...