pandas之数据IO笔记
pandas在进行数据存储与输出时会做一些相应的操作
1.*索引:将一个列或多个列读取出来构成DataFrame,其中涉及是否从文件中读取索引以及列名
2 *类型推断和数据转换:包括用户自定义的转换以及缺失值标记
3 *日期解析
4*迭代:针对大文件进行逐块迭代。这个是Pandas和Python原生的csv库的最大区别
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笔记的更多相关文章
- pandas 存取数据小笔记
import pandas as pd 1. 读取和保存 csv文件 #读 df = pd.read_csv(read_file_path, header=0) # 其中read_file_pat ...
- 【笔记】Pandas分类数据详解
[笔记]Pandas分类数据详解 Pandas Pandas分类数据详解|轻松玩转Pandas(5) 参考:Pandas分类数据详解|轻松玩转Pandas(5)
- 【转载】使用Pandas对数据进行筛选和排序
使用Pandas对数据进行筛选和排序 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas对数据进行筛选和排序 目录: sort() 对单列数据进行排序 对多列数据进行排序 获取金额最小前10项 ...
- 【转载】使用Pandas进行数据提取
使用Pandas进行数据提取 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据提取 目录 set_index() ix 按行提取信息 按列提取信息 按行与列提取信息 提取特定日期的信 ...
- 【转载】使用Pandas进行数据匹配
使用Pandas进行数据匹配 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas进行数据匹配 目录 merge()介绍 inner模式匹配 lefg模式匹配 right模式匹配 outer模式 ...
- 【转载】使用Pandas创建数据透视表
使用Pandas创建数据透视表 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas创建数据透视表 目录 pandas.pivot_table() 创建简单的数据透视表 增加一个行维度(inde ...
- 转载:使用Pandas进行数据匹配
使用Pandas进行数据匹配 本文转载自:蓝鲸的网站分析笔记 原文链接:使用Pandas进行数据匹配 目录 merge()介绍 inner模式匹配 lefg模式匹配 right模式匹配 outer模式 ...
- python-数据描述与分析2(利用Pandas处理数据 缺失值的处理 数据库的使用)
2.利用Pandas处理数据2.1 汇总计算当我们知道如何加载数据后,接下来就是如何处理数据,虽然之前的赋值计算也是一种计算,但是如果Pandas的作用就停留在此,那我们也许只是看到了它的冰山一角,它 ...
- 利用Python进行数据分析(12) pandas基础: 数据合并
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...
随机推荐
- elasticsearch配置jdk
编辑bin/elasticsearch 可以看到elasticsearch使用环境变量JAVA_HOME中配置的jdk:if [ -x "$JAVA_HOME/bin/java" ...
- 20165223《网络对抗技术》Exp6 信息搜集与漏洞扫描
目录 -- 信息搜集与漏洞扫描 实践说明 实践目标 基础知识问答 实践内容 各种搜索技巧的应用 Google搜索引擎扫描--Google Hacking msf搜索引擎扫描--搜索网址目录结构 搜索特 ...
- Java 面向对象(三)
封装 什么是封装 面向对象三大特征之一 1. 把对象的状态和行为看成一个统一的整体,将字段和方法放到一个类中. 2. 信息隐藏:把不需要让外界知道的信息隐藏起来.尽可能隐藏对象功能实现细节,向外界暴露 ...
- vue设置公共常量
Global.vue <template> </template> <script type="text/javascript"> const ...
- C# 多线程Thread.IsBackground=True的作用
C#中多线程的线程加.IsBackground = true与不加有什么区别? 按照MSDN上讲:“获取或设置一个值,该值指示某个线程是否为后台线程.” 其实这个解释并不到位,至少应该解释一下后台线程 ...
- keras Model 1 入门篇
1 入门 2 多个输入和输出 3 共享层 最近在学习keras,它有一些实现好的特征提取的模型:resNet.vgg.而且是带权重的.用来做特诊提取比较方便 首先要知道keras有两种定义模型的方式: ...
- Linux C Socket编程:文件上传
一个服务端等待, 客户端上传文件到服务端,通过输入要上传的文件名,目前只做到仅对当前执行文件的目录下的文件,应该在服务端收到文件路径之后进行处理的. 服务端代码: #include <netin ...
- 安装配置nodejs并创建Vue项目
一.下载安装node.js 1.Node.js 官方网站下载:https://nodejs.org/en/ 2.傻瓜式安装 双加安装包,除了根据自己的需要选择安装位置外,都默认下一步. 3.验证安装 ...
- svn add 命令 递归目录下所有文件
svn add 命令 递归目录下所有文件 摘自:https://blog.csdn.net/yefl007/article/details/46506281 即使被忽略了也可以使用此命令. svn a ...
- VM12_pro+Ubuntu16_64+Qt5.12.2环境搭建
1.准备软件[已经存网盘] 2.安装Vm 3.安装Ubuntu 4.进入linux,修改Qt安装包权限 5.运行Qt 6.第五步会弹出Qt安装的界面,默认安装就行了 7.修改环境变量 sudo ged ...