《利用Python进行数据分析》笔记---第6章数据加载、存储与文件格式
写在前面的话:
实例中的所有数据都是在GitHub上下载的,打包下载即可。
地址是:http://github.com/pydata/pydata-book
还有一定要说明的:
我使用的是Python2.7,书中的代码有一些有错误,我使用自己的2.7版本调通。
# coding: utf-8
from pandas import Series, DataFrame
import pandas as pd
import numpy as np
df = pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex1.csv')
df
pd.read_table('D:\Source Code\pydata-book-master\ch06\ex1.csv', sep=',')
pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex2.csv', header=None)
pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex2.csv', names=['a','b','c','d','message'])
names=['a','b','c','d','message']
pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex2.csv', names=names, index_col = 'message')
parsed = pd.read_csv('D:\Source Code\pydata-book-master\ch06\csv_mindex.csv', index_col = ['key1','key2'])
list(open('D:\Source Code\pydata-book-master\ch06\ex3.txt'))
result = pd.read_table('D:\Source Code\pydata-book-master\ch06\ex3.txt', sep='\s+')
result
pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex4.csv', skiprows=[0,2,3])
result = pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex5.csv')
result
pd.isnull(result)
result = pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex5.csv', na_values=['NULL'])
result
sentinels = {'message':['foo','NA'],'something':['two']}
pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex5.csv',na_values = sentinels)
result = pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex6.csv')
result
pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex6.csv', nrows=5)
chunker = pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex6.csv', chunksize=1000)
chunker
tot = Series([])
for piece in chunker:
tot = tot.add(piece['key'].value_counts(), fill_value=0)
tot = tot.order(ascending=False)
tot[:10]
data = pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex5.csv')
data
data.to_csv('D:\out.csv')
pd.read_csv('D:\out.csv')
import sys
data.to_csv(sys.stdout, sep='|')
data.to_csv(sys.stdout, na_rep='NULL')
data.to_csv(sys.stdout, index=False, header=False)
data.to_csv(sys.stdout, index=False, cols=['a','b','c'])
dates = pd.date_range('1/1/2000',periods=7)
ts = Series(np.arange(7),index=dates)
ts.to_csv('D:\out.csv')
Series.from_csv('D:\out.csv', parse_dates=True)
import csv
f = open('D:\Source Code\pydata-book-master\ch06\ex7.csv')
reader = csv.reader(f)
for line in reader:
print line
lines = list(csv.reader(open('D:\Source Code\pydata-book-master\ch06\ex7.csv')))
header,values = line[0],lines[1:]
data_dict = {h:v for h, v in zip(header,zip(*values))}
data_dict
import json
obj = """{"names":"www0","places":["aa","bb","cc","dd"],"pet":null,"siblings":[{"name":"wang","age":25,"pet":"Zuko"},{"name":"zhang","age":33,"pet":"Cisco"}]}"""
result = json.loads(obj)
result
asjson = json.dumps(result)
asjson
siblings = DataFrame(result['siblings'],columns=['name','age'])
siblings
from lxml.html import parse
from urllib2 import urlopen
parsed = parse(urlopen('http://finance.yahoo.com/q/op?s=AAPL+Options'))
doc = parsed.getroot()
from lxml import objectify
path = 'D:\Source Code\pydata-book-master\ch06\mta_perf\Performance_MNR.xml'
parsed = objectify.parse(open(path))
root = parsed.getroot()
data = []
for elt in root.INDICATOR:
el_data = {}
for child in elt.getchildren():
el_data[child.tag] = child.pyval
data.append(el_data)
perf = DataFrame(data)
perf
frame = pd.read_csv('D:\Source Code\pydata-book-master\ch06\ex1.csv')
frame
frame.save('D:\Source Code\pydata-book-master\ch06\\aa')
frame.load('D:\Source Code\pydata-book-master\ch06\\aa')
import requests
url = 'http://gc.ditu.aliyun.com/regeocoding?l=39.938133,116.395739&type=001'
resp = requests.get(url)
resp
data = json.loads(resp.text)
《利用Python进行数据分析》笔记---第6章数据加载、存储与文件格式的更多相关文章
- 《利用python进行数据分析》读书笔记--第六章 数据加载、存储与文件格式
http://www.cnblogs.com/batteryhp/p/5021858.html 输入输出一般分为下面几类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据.利用Web API ...
- 利用python进行数据分析之数据加载存储与文件格式
在开始学习之前,我们需要安装pandas模块.由于我安装的python的版本是2.7,故我们在https://pypi.python.org/pypi/pandas/0.16.2/#downloads ...
- 《利用Python进行数据分析》第6章学习笔记
数据加载.存储与文件格式 读写文本格式的数据 逐块读取文本文件 read_xsv参数nrows=x 要逐块读取文件,需要设置chunksize(行数),返回一个TextParser对象. 还有一个ge ...
- 利用Python进行数据分析 第6章 数据加载、存储与文件格式(2)
6.2 二进制数据格式 实现数据的高效二进制格式存储最简单的办法之一,是使用Python内置的pickle序列化. pandas对象都有一个用于将数据以pickle格式保存到磁盘上的to_pickle ...
- 利用Python进行数据分析-Pandas(第六部分-数据聚合与分组运算)
对数据集进行分组并对各组应用一个函数(无论是聚合还是转换),通常是数据分析工作中的重要环节.在将数据集加载.融合.准备好之后,通常是计算分组统计或生成透视表.pandas提供了一个灵活高效的group ...
- 《利用Python进行数据分析》第8章学习笔记
绘图和可视化 matplotlib入门 创建窗口和画布 fig = plt.figure() ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2, ...
- 《利用Python进行数据分析》第4章学习笔记
NumPy基础:数组和矢量计算 NumPy的ndarray:一种多维数组对象 该对象是一个快速灵活的大数据集容器.你可以利用这种数组对整块数据执行一些数学运算,其语法跟标量元素之间的运算一样 列表转换 ...
- 《利用Python进行数据分析》第7章学习笔记
数据规整化:清理.转换.合并.重塑 合并数据集 pandas.merge pandas.concat combine_first 数据库风格的DataFrame合并 索引上的合并 join()实例方法 ...
- 《利用Python进行数据分析》第123章学习笔记
引言 1 列表推导式 records = [json.loads(line) for line in open(path)] 这是一种在一组字符串(或一组别的对象)上执行一条相同操作(如json.lo ...
随机推荐
- python flask demo
from flask import Flask, jsonify from flask import abort from flask import make_response from flask ...
- bcompare Linux版 无限试用
需要root权限. # mv /usr/bin/bcompare /usr/bin/bcompare.real # cat /usr/bin/bcompare #!/bin/sh rm " ...
- 5-11敏捷开发rails的章节: Rspec(使用方法) ,Slim(使用操作简介)
Rspec: test Slim :可以取代ERB的模版语言.(简单了解了以下,方便写代码,但我觉得不方便读.还是用原生的html) Webpack管理css: 不再使用app/assets/styl ...
- 基于DOMContentLoaded实现文档加载完成后执行的方法
我们有时可能需要一些在页面加载完成之后执行的方法,其实js原生就提供了onload方法,所以我们最简单的办法就是直接给onload赋值一个函数,在页面加载完成之后就会自动执行 widnow.onloa ...
- 51nod-1605-博弈
1605 棋盘问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 上帝创造了一个n*m棋盘,每一个格子都只有可能是黑色或者白色的. 亚当和夏娃在 ...
- HDU-1548 A strange lift(单源最短路 或 BFS)
Problem Description There is a strange lift.The lift can stop can at every floor as you want, and th ...
- Oracle DISTINCT A 排序问题(转)
请问Oracle 中有ID,A栏要怎么读出栏的不重复值,并且用ID来排序,請大家帮帮忙? 解决方案: ID | A 1 | x 2 | y 3 | x A栏的不重复值: x, y 但用ID來排序时 x ...
- 使用POI导入EXCEL报java.lang.IncompatibleClassChangeError
使用POI导入xls格式的excel报java.lang.IncompatibleClassChangeError异常,而导入xlsx正常. oracle.apps.fnd.framework.OAE ...
- TABLE中动态设置poplist的值跟着当前行的某些列动态变化
核心方法 OAAdvancedTableBean table = (OAAdvancedTableBean)webBean.findChildRecursive("TimeEntryTbl& ...
- zk如何实现watch
在客户端发送命令:stat /zhang watch 在zk server中产生如下图的调用栈: //在DataTree类中有 private final WatchManager dataWatch ...