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. (转)hive调优(1) coding调优

    hive 调优(一)coding调优 本人认为hive是很好的工具,目前支持mr,tez,spark执行引擎,有些大公司原来封装的sparksql,开发py脚本,但是目前hive支持spark引擎(不 ...

  2. ICEM-缺角正方体(拓块)

    ​原视频下载地址:https://yunpan.cn/cqFIqQWrNqzNc  访问密码 6fb4

  3. 一起来学习React-Native之react-navigation基本解析

    前言   不久前自己也完整开发了一个React-Native项目,对其中的一些知识存在疑惑,再加上项目时间比较紧张,来不及做系统的学习.现在来回顾自己开发当中存在的疑惑点,和大家分享.第一篇是关于路由 ...

  4. KA,连接池居然这么简单? 原创: 58沈剑 架构师之路 3月20日

    KA,连接池居然这么简单? 原创: 58沈剑 架构师之路 3月20日

  5. SpringBoot视图层技术

    一.SpringBoot整合jsp 在maven的dependencies的依赖中除了springBoot启动器还要添加对jstl和jsp的依赖. <dependencies> <d ...

  6. PorterDuffXfermode之PorterDuff.Mode.SRC_OUT

    package com.loaderman.customviewdemo.view; import android.content.Context; import android.graphics.B ...

  7. zip格式压缩文件辅助类(ZipHelper)

    /// <summary> /// 压缩解压文件 /// </summary> public class ZipHelper { /// <summary> /// ...

  8. 123457123456---com.threeObj3.BabyShizi02--- 宝宝识字02

    com.threeObj3.BabyShizi02--- 宝宝识字02

  9. thymeleaf中double/float格式化,四舍五入显示两位小数

    private Float balance; 代码: <span class="A124_balance_num" th:text="${#numbers.form ...

  10. Jsoup-简单爬取知乎推荐页面(附:get_agent())

    总览 今天我们就来小用一下Jsoup,从一个整体的角度来看一看爬虫 一个基本的爬虫框架包括: [x] 解析网页 [x] 失败重试 [x] 抓取内容保存至本地 [x] 多线程抓取 *** 分模块讲解 将 ...