写在前面的话:

实例中的所有数据都是在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章数据加载、存储与文件格式的更多相关文章

  1. 《利用python进行数据分析》读书笔记--第六章 数据加载、存储与文件格式

    http://www.cnblogs.com/batteryhp/p/5021858.html 输入输出一般分为下面几类:读取文本文件和其他更高效的磁盘存储格式,加载数据库中的数据.利用Web API ...

  2. 利用python进行数据分析之数据加载存储与文件格式

    在开始学习之前,我们需要安装pandas模块.由于我安装的python的版本是2.7,故我们在https://pypi.python.org/pypi/pandas/0.16.2/#downloads ...

  3. 《利用Python进行数据分析》第6章学习笔记

    数据加载.存储与文件格式 读写文本格式的数据 逐块读取文本文件 read_xsv参数nrows=x 要逐块读取文件,需要设置chunksize(行数),返回一个TextParser对象. 还有一个ge ...

  4. 利用Python进行数据分析 第6章 数据加载、存储与文件格式(2)

    6.2 二进制数据格式 实现数据的高效二进制格式存储最简单的办法之一,是使用Python内置的pickle序列化. pandas对象都有一个用于将数据以pickle格式保存到磁盘上的to_pickle ...

  5. 利用Python进行数据分析-Pandas(第六部分-数据聚合与分组运算)

    对数据集进行分组并对各组应用一个函数(无论是聚合还是转换),通常是数据分析工作中的重要环节.在将数据集加载.融合.准备好之后,通常是计算分组统计或生成透视表.pandas提供了一个灵活高效的group ...

  6. 《利用Python进行数据分析》第8章学习笔记

    绘图和可视化 matplotlib入门 创建窗口和画布 fig = plt.figure() ax1 = fig.add_subplot(2,2,1) ax2 = fig.add_subplot(2, ...

  7. 《利用Python进行数据分析》第4章学习笔记

    NumPy基础:数组和矢量计算 NumPy的ndarray:一种多维数组对象 该对象是一个快速灵活的大数据集容器.你可以利用这种数组对整块数据执行一些数学运算,其语法跟标量元素之间的运算一样 列表转换 ...

  8. 《利用Python进行数据分析》第7章学习笔记

    数据规整化:清理.转换.合并.重塑 合并数据集 pandas.merge pandas.concat combine_first 数据库风格的DataFrame合并 索引上的合并 join()实例方法 ...

  9. 《利用Python进行数据分析》第123章学习笔记

    引言 1 列表推导式 records = [json.loads(line) for line in open(path)] 这是一种在一组字符串(或一组别的对象)上执行一条相同操作(如json.lo ...

随机推荐

  1. JConsole监控远程Tomcat服务器 遇到的坑

    1. 报错 JConsole  java net socketException: Connection reset 解决: 先查看linux服务器开放了哪些端口 netstat -ntpl 选中了一 ...

  2. Qt5_容器_知识点记录

    1.删除: 1.1.erase 1.2.remove / removeAt 2. 3. 4. 5.

  3. 用Java随机生成四则运算

    代码链接:https://github.com/devilwjy/Code.Demo 需求分析: 1.程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符 ...

  4. CTO详细讲解海量日志处理ELK

    ELK实时日志分析平台之Elasticsearch简介 Elasticsearch是一个高度灵活的开源全文检索和分析引擎.它能够迅速(几乎是实时地)地存储.查找和分析大规模数据.通常被用在有复杂的搜索 ...

  5. Cassandra 和 Spark 数据处理一窥

    Apache Cassandra 数据库近来引起了很多的兴趣,这主要源于现代云端软件对于可用性及性能方面的要求. 那么,Apache Cassandra 是什么?它是一种为高可用性及线性可扩展性优化的 ...

  6. 音视频学习系列第(三)篇---wav文件的存储和解析

    音视频系列 什么是wav wav是一种无损的音频文件格式,wav文件有两部分,第一部分是文件头,记录一些重要的参数信息,如音频的采样率,通道数,数据位宽,第二部分是数据部分,数据部分可以是PCM,也可 ...

  7. BOM对象思维导图

  8. 项目构建工具gradle

    1.安装 https://gradle.org/install 2.构建一个项目 https://guides.gradle.org/creating-new-gradle-builds/ 3.bui ...

  9. Eclipse用了官方汉化后,无法输入

    解决方法:Rclipse右键→属性→兼容性→windows vista

  10. oo第四篇博客作业

    测试与正确性论证的效果差异及各自的优缺点: 测试针对一些典型的输入情况进行方法验证,可操作性更强,结果直观.但不能完全覆盖所有的输入情况. 正确性论证则是根据代码逻辑从所有的方面对方法进行论证,可操作 ...