python数据分析之:数据加载,存储与文件格式

前面介绍了numpy和pandas的数据计算功能.但是这些数据都是我们自己手动输入构造的.如果不能将数据自动导入到python中,那么这些计算也没有什么意义.这一章将介绍数据如何加载以及存储.
首先来看读写文本格式的数据
pandas提供了一些用于将表格型数据读取为DataFrame对象的函数.如下表:

csv文件是默认以,为分割符.可以通过命令行cat来读取文件内容.

In [4]: cat /home/zhf/1.csv

1,2,3,4

5,6,7,8

9,10,11,12

同样的我们也可以用pandas的函数进行读取.

In [6]: result=pd.read_csv(‘/home/zhf/1.csv‘)

In [7]: result

Out[7]:

1   2   3   4

0  5   6   7   8

1  9  10  11  12

但是读入的文件没有列名,如果要添加列名,需要设置header参数

In [11]: result=pd.read_csv(‘/home/zhf/1.csv‘,header=None)

In [12]: result

Out[12]:

0   1   2   3

0  1   2   3   4

1  5   6   7   8

2  9  10  11  12

也可以自己制定列的名称

In [14]: result=pd.read_csv(‘/home/zhf/1.csv‘,names=[‘one‘,‘two‘,‘three‘,‘four‘]

...: )

In [15]: result

Out[15]:

one  two  three  four

0    1    2      3     4

1    5    6      7     8

2    9   10     11    12

In [16]: result[‘one‘]

Out[16]:

0    1

1    5

2    9

还可以明确将该列放到某个索引的位置上,通过制定index_col参数.

In [18]: result=pd.read_csv(‘/home/zhf/1.csv‘,names=[‘one‘,‘two‘,‘three‘,‘four‘]

...: ,index_col=‘four‘)

In [19]: result

Out[19]:

one  two  three

four

4       1    2      3

8       5    6      7

12      9   10     11

如果出现像下面的这种数据,#的这一行是我们不需要的.该如何省略掉呢

In [22]: result=pd.read_csv(‘/home/zhf/1.csv‘)

In [23]: result

Out[23]:

1   2   3   4

0  #   #   #   #

1  5   6   7   8

2  9  10  11  12

可以通过skiprows将某一行的数据跳过.

In [24]: result=pd.read_csv(‘/home/zhf/1.csv‘,skiprows=[1])

In [25]: result

Out[25]:

1   2   3   4

0  5   6   7   8

1  9  10  11  12

同样的在读出的数据中,也可以判断是否为非空或者需要填充

In [10]: result

Out[10]:

1   2   3     4

0  #   #   #   NaN

1  5   6   7   8.0

2  9  10  11  12.0

In [11]: pd.isnull(result)

Out[11]:

1      2      3      4

0  False  False  False   True

1  False  False  False  False

2  False  False  False  False

read_csv和read_table的内置函数如下:

逐块读取文本文件

在处理很大的文件时,或找出大文件中的参数集便于后续处理的时候,只需要读取文件的一小部分或逐块对文件进行迭代.

读取某几行需要设置nrows参数,这里的nrows下标是从0开始的.因此nrows=2代表前3行.

In [19]: result=pd.read_csv(‘/home/zhf/1.csv‘,nrows=2)

In [20]: result

Out[20]:

1  2  3    4

0  #  #  #  NaN

1  5  6  7  8.0

将数据写到文件上

数据也可以被输出为分隔符格式的文本

to_csv将数据写入到文件中,如果没有该文件,将会自动创建一个.

data1=data.to_csv(‘/home/zhf/3.csv‘)

在写入的时候也可以制定分隔符

data1=data.to_csv(‘/home/zhf/3.csv‘,sep=‘|‘)

JSON文件

json文件是在HTTP上广泛用来传输数据的文件之一,下面来看下如何将json对象传入到DataFrame中

In [34]: import json

In [35]: result=json.loads(‘/home/zhf/test.json‘)

In [36]: data=json.dumps(result)

In [37]: ret=DataFrame(data[‘one‘],columns=[‘name‘,‘age‘])

还有很多其他格式的文件,比如HTML,XML,数据库等文件.这些文件的读写和在python中是一样的.这里就不再一一介绍了.

原文地址:https://www.cnblogs.com/zhanghongfeng/p/8450209.html

时间: 2024-07-31 07:42:41

python数据分析之:数据加载,存储与文件格式的相关文章

python数据分析笔记——数据加载与整理]

[ python数据分析笔记--数据加载与整理] https://mp.weixin.qq.com/s?__biz=MjM5MDM3Nzg0NA==&mid=2651588899&idx=4&sn=bf74cbf3cd26f434b73a581b6b96d9ac&chksm=bdbd1b388aca922ee87842d4444e8b6364de4f5e173cb805195a54f9ee073c6f5cb17724c363&mpshare=1&scene=

数据加载存储和文件格式

原文地址: https://github.com/AsuraDong/Blog/blob/master/Articles/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/%E6%95%B0%E6%8D%AE%E5%8A%A0%E8%BD%BD%E5%AD%98%E5%82%A8%E5%92%8C%E6%96%87%E4%BB%B6%E6%A0%BC%E5%BC%8F.md 1.读取文本格式数据 import pandas as pd import numpy as np

【汇编指令】arm指令集之但寄存器数据load/store (加载存储)

数据的传送: LDR              STR                   .WORD LDRB            STRB              .BYTE LDRH             STRH            .HALFWORD LDR 和STR 加载/存储字和无符号字节指令.使用单一数据传送指令(STR 和LDR)来装载和存储单一字节或字的数据从/到内存.LDR指令用于从内存中读取数据放入寄存器中:STR 指令用于将寄存器中的数据保存到内存.指令格式如下

20200113(数据加载、存储和文件格式)

6. 数据加载.存储和文件格式 输出输出通常包括几个大类: 读取文本文件和其他更高效的磁盘存储格式: 加载数据库中的数据: 利用Web API 操作网络资源. 这里着重介绍pandas的输入输出对象. 6.1  读取文本格式的数据 pandas 提供了一些用于将表格数据读取为DataFrame 对象的函数.如下: 上面这些函数的选项可以划分为以下几个大类: 其中,类型推断(type inference)是这些函数中最重要的功能之一,也就是说不需要指定列的类型到底是数值.整数.布尔值还是字符串.

arcgis python 使用光标和内存中的要素类将数据加载到要素集

使用光标和内存中的要素类将数据加载到要素集 import arcpy arcpy.env.overwriteOutput = True arcpy.ImportToolbox("http://flame7/arcgis/services;BufferByVal", "servertools") # List of coordinates coordinates = [[-117.196717216, 34.046944853], [-117.186226483, 3

实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)

实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624.aspx  译 Q:77811970 实现虚拟模式的原因之一 DataGridView控制只检索数据,因为它是必要的. 这就是所谓的 即时数据加载 . 如果你正在与一个非常大的表在一个远程数据库,例如,您可能希望避免启动延迟,只检索所需的数据显示和检索额外的数据只有当用户新行滚动到视图. 如果客户

自己动手写CPU之第九阶段(5)——实现加载存储指令2(修改执行阶段)

将陆续上传新书<自己动手写CPU>,今天是第42篇,我尽量每周四篇,但是最近已经很久没有实现这个目标了,一直都有事,不好意思哈. 开展晒书评送书活动,在亚马逊.京东.当当三大图书网站上,发表<自己动手写CPU>书评的前十名读者,均可获赠<步步惊芯--软核处理器内部设计分析>一书,大家踊跃参与吧!活动时间:2014-9-11至2014-10-30 9.3.2 修改执行阶段 1.修改EX模块 在执行阶段的EX模块会计算加载存储的目的地址,参考图9-19可知,EX模块会增加部

自己动手写CPU之第九阶段(4)——加载存储指令实现思路

将陆续上传新书<自己动手写CPU>,今天是第40篇,我尽量每周四篇,但是最近已经很久没有实现这个目标了,一直都有事,不好意思哈. 开展晒书评送书活动,在亚马逊.京东.当当三大图书网站上,发表<自己动手写CPU>书评的前十名读者,均可获赠<步步惊芯--软核处理器内部设计分析>一书,大家踊跃参与吧!活动时间:2014-9-11至2014-10-30 9.2 加载存储指令实现思路 9.2.1 实现思路 本节介绍除ll.sc之外的加载存储指令的实现思路,ll.sc指令的实现思路

自己动手写CPU之第九阶段(1)——加载存储指令说明2(lwl、lwr)

将陆续上传新书<自己动手写CPU>,今天是第38篇,我尽量每周四篇,但是最近已经很久没有实现这个目标了,一直都有事,不好意思哈. 开展晒书评送书活动,在亚马逊.京东.当当三大图书网站上,发表<自己动手写CPU>书评的前十名读者,均可获赠<步步惊芯--软核处理器内部设计分析>一书,大家踊跃参与吧!活动时间:2014-9-11至2014-10-20 今天继续对MIPS32中加载存储指令进行说明(主要是lwl.lwr),上次已经介绍一些其他的加载存储指令,大家可以回顾. 9.

Android数据加载及Json解析——框架版

方法调用 new ApiUser(this).initData(new ApiRequest() { @Override public void onResult(BeanRequest bean) { //如果接口调用不成功,给予提示 if (!bean.isSuccess()) { UtilToast.show(Activitymain.this, bean.getErrInfo(), UtilToast.STYLE_ERROR); } //Json数据解析:BeanInitData 数据实