读书笔记4数据的读入和保存

一、从文件读入

pandas支持文件类型,CSV, general delimited text files, Excel files, json, html tables, HDF5 and STATA。

1.Comma-separated value (CSV) files can be read using read_csv,

>>> from pandas import read_csv
>>> csv_data = read_csv(’FTSE_1984_2012.csv’)
>>> csv_data = csv_data.values
>>> csv_data[:4]
array([[’2012-02-15’, 5899.9, 5923.8, 5880.6, 5892.2, 801550000L, 5892.2],
[’2012-02-14’, 5905.7, 5920.6, 5877.2, 5899.9, 832567200L, 5899.9],
[’2012-02-13’, 5852.4, 5920.1, 5852.4, 5905.7, 643543000L, 5905.7],
[’2012-02-10’, 5895.5, 5895.5, 5839.9, 5852.4, 948790200L, 5852.4]], dtype=object)

2、Excel files

使用read_excel函数,需要两个参数,一个文件名,一个sheet名。默认会省略掉第一行数据。

from pandas import read_excel
exceldate=read_excel(‘score.xlsx‘,‘Sheet1‘);
exceldate=exceldate.values
print type(exceldate)
print exceldate.shape
exceldate[0,:]
<type ‘numpy.ndarray‘>
(4L, 7L)

Out[6]:

array([15, 65, 45, 48, 43, 26, 35], dtype=int64)

3、STATA files

>>> from pandas import read_stata
>>> stata_data = read_stata(’FTSE_1984_2012.dta’)
>>> stata_data = stata_data.values
>>> stata_data[:4,:2]
array([[ 0.00000000e+00, 4.09540000e+04],
[ 1.00000000e+00, 4.09530000e+04],
[ 2.00000000e+00, 4.09520000e+04],
[ 3.00000000e+00, 4.09490000e+04]])

4、不使用pandas来读取文件内容

对于Excel Files使用xlrd来读取,xlrd,负责读取excel,xlwt,负责写excel模块。

import xlrd
wb = xlrd.open_workbook(‘score.xlsx‘);
sheetnames=wb.sheet_names()
sheet = wb.sheet_by_name(sheetnames[0])
exceldate=[]
for i in xrange(sheet.nrows):
    exceldate.append(sheet.row_values(i));
print ‘%d rows,‘%len(exceldate),‘%d columns‘%len(exceldate[0])
?
adate=np.empty(len(exceldate))
for i in xrange(len(exceldate)):
    adate[i]=exceldate[i][0];
print adate.shape
print adate
?
?
5 rows, 7 columns
(5L,)
[ 12.  15.  51.  65.  45.]

二、保存数据

1、numpy专有格式保存数据npz,

savez_compressed会在保存数据时进行压缩。
x=np.arange(10)
y=np.zeros((100,100))
np.savez_compressed(‘date1‘,x,y)
date=np.load(‘date1.npz‘)
print date[‘arr_0‘]
?
np.savez_compressed(‘date2‘,x=x,ontherDate=y)
date2=np.load(‘date2.npz‘);
print date2[‘x‘]
?
[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7 8 9]

2、保存为csv文件,使用np.savatxt方法。

注意:pandas里面的read_csv和read_excel方法都会省略第一行,默认是标题

from pandas import read_csv
x=np.random.randn(10,10);
np.savetxt(‘date1.csv‘,x,delimiter=‘,‘)
date=read_csv(‘date1.csv‘)
date=date.values
?
print x.shape
print date.shape
print x
print date[0]
(10L, 10L)
(9L, 10L)
[[ 1.77015084 -1.80554159  1.28403537  0.2009891   0.26291606  0.08448012
   1.66140115  0.17728159  0.88959083  0.56291309]
 [ 0.58518743  1.44373927  0.54993558  0.01054313  0.59017053 -0.35133822
  -0.42014888 -0.3079049   0.94373013  1.35954942]
 [-0.54426668  0.04622141 -0.66634713  0.45793767 -0.63685413  0.99976971
  -0.39326027 -0.93163258 -0.79656236  0.72966639]
 [-0.39963295 -1.79753906  0.32433359  0.82947734  1.54987769  2.77115954
   0.22080235 -0.60776182  2.57004264  0.59011931]
 [-0.19130441 -0.12465107  1.40619987 -0.61049826 -0.39827838 -1.25752483
  -0.91058091  0.36020845 -0.10908816  1.45316786]
 [ 0.47408008 -0.28463786 -1.92910625 -0.50288128 -0.06007105 -0.12408027
  -0.84164768 -0.42411635  0.69954835 -0.41664136]
 [ 0.42336169  0.23625584  1.11511232 -1.08894244 -0.79186067 -1.71206423
  -0.02372556 -0.71933255 -1.33979181 -0.41698675]
 [-0.06578197  1.04509307  0.1279905   1.03185255  1.15403322 -0.18110707
  -0.60340346 -0.33581049  0.02637558 -1.06997906]
 [-1.84514777  1.19496964 -1.70550266  1.30863094 -1.48711603  1.55044598
   0.64066525  0.39086305  0.15076543  1.42276444]
 [-1.23244051 -0.03354092  0.84729912  0.15254869 -0.33402971 -0.59486921
  -0.28056973 -1.72189462 -0.0156615  -1.22688771]]
[ 0.58518743  1.44373927  0.54993558  0.01054313  0.59017053 -0.35133822
 -0.42014888 -0.3079049   0.94373013  1.35954942]
时间: 2024-10-12 16:36:19

读书笔记4数据的读入和保存的相关文章

R语言学习笔记(数据的读取与保存)

library(MASS)#载入package MASSdata(package="MASS") #查看MASS中的数据集data(SP500,package="MASS") #载入MASS中的SP500数据集data(SP500) #简化写法getwd() #返回当前工作目录setwd("d:/r/r-data") #将当前工作路径修改为 data=read.table("d:/r/r-data/salary.txt",he

数据挖掘概念与技术读书笔记(三)数据预处理

3.1 数据预处理 数据质量的三个要素:准确性.完整性和一致性. 3.1.2 数据预处理的主要任务 数据清理:填写缺失的值,光滑噪声数据,识别或删除离群点,并解决不一致性来”清理“数据. 数据集成: 数据归约: 3.2 数据清理 3.2.1 缺失值 1.忽略元组 2.人工填写缺失值 3.使用一个全局常量填充缺失值 4.使用属性的中心度量填充缺失值:中位数 5.使用与给定元组属同一类的所有样本的属性均值或中位数 6.使用最可能的值填充缺失值:回归/贝叶斯/决策树 第6种是最流行的策略 3.2.2

读书笔记 - 《数据之颠》

真是一本好书!作者在书中将美国数据化和使用这些数据创造进步的历史娓娓道来,从议员的席位划分到数据应用对军事政治的影响再到统计和量化,最后过渡到当前的大数据时代,一个个小故事精彩纷呈,其整体精彩的程度不下于热门的小说.同时让人不由感叹强国自有其变强的方方面面,而不仅仅想中学课本讲的那么简单.当然对我来说不仅于此,最大的收获还在于和其它书籍思想的交相印证.读史可以明智,从美国数据化和应用的波澜壮阔的历史,可以看到当前的神奇结果并不是最初设计好的,而是在实践中一步步发展出来的,这完全是一个正向的黑天鹅

[读书笔记]左手数据,右手图表

最近在看这本<左手数据,右手图表>,大体上可以从技巧.观念和管理等几方面来学习. 先把个人认为重要的内容记录如下: 一.技巧 1.offset函数确定区域:(但此函数结果并不直接显示区域,可以借助定义名称来查看) 2.vlookup.hlookup 3.表单控件和activeX控件的区别,返回值不一样 4.多选类控件可以用于不同数据的对比. 5.ctrl+1等快捷键,F4重复上一步操作 二.观念和管理 1.波士顿矩阵 2.图表的几种类型使用的场合 3.雷达图 三.思考的问题 1.如何从大量数据

20150206读书笔记&lt;深入理解计算机系统&gt;

●第一章 C是系统级编程的首选.C++显示支持抽象,属于应用级程序设计语言. 简单例子: 一个典型系统的硬件组成: 存储器的层次结构: 注:存储器层次结构的设计思想是,该层存储器作为下一层存储器的高速缓存 总结:计算机系统的一个重大主题就是提供不同层次的抽象表示,来隐藏实际实现的复杂性.  操作系统内核是应用程序和硬件之间的媒介.提供3个基本的抽象: (1)文件是对I/O设备的抽象 (2)虚拟存储器是对主存和磁盘的抽象 (3)进程是对处理器,I/O设备和主存的抽象. 虚拟机是对整个计算机(操作系

【 Android官方文档读书笔记】保存数据

Android提供了3种数据保存方式:SharePreference.文件与数据库. 1,SharePreference 如果想保存一个相对较小的key-values集合,可以使用 SharedPreferences API. SharedPreferences对象指向包含key-value对的文件,并且提供简单的读写方式.每个SharedPreferences文件均由框架管理,私人或共享均可使用.其本质是一个xml文件. 数据读入: SharedPreferences sharedPref =

WPF,Silverlight与XAML读书笔记第十五 - 页间导航 页间数据传递

?说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘>的编排,对内容进行了总结并加入一些个人理解. 导航 有关导航的话题在介绍NavigationWindow与Page等元素时有提及.这篇文章将详细分析导航相关话题.同其它话题,针对WPF,Silverlight与WP 7,导航特性大致相似又有着些许不同.在介绍此特性时相同的特性将合在一起,每个框架独有的特性也将独立介绍并有明显标识. 导航的功能及目的就是从一个页面转向另一个页面,可能是前进亦或是后

《Spring实战》读书笔记--SpringMVC处理Multipart数据

<Spring实战>读书笔记--SpringMVC处理Multipart数据 1.Multipart介绍 1.1 Multipart形式的数据 Multipart格式数据会将一个表单拆分为多个部分(part),每个部分对应一个输入域.在一般的表单输入域中,它对应的部分会放置文本型数据,如果是文件上传形式,它对应的部分可以是二进制. 1.2 Multipart/form-data请求方式 Multipart/form-data是建立在HTTP的POST请求方式以上的请求,其一般用于HTTP文件上

Java 线程第三版 第三章数据同步 读书笔记

多线程间共享数据问题 一.Synchronized关键字 atomic一词与"原子"无关,它曾经被认为是物质的最小的单元,不能再被拆解成更小的部分. 当一个方法被声明成synchronized,要执行此方法的thread必须先取得一个token,我们将它称为锁.一旦该方法取得(或者说是获得)锁,它将运行此方法然后释放掉(或者返回)此锁.不管方法时怎样返回的(包括通过异常)该锁会被释放. 二.Volatile关键字 如果变量被标示为volatile,每次使用该变量时都必须从主寄存器中读出