写在前面的话:

实例中的所有数据都是在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. pandas 设置单元格的值

    import pandas as pd import pickle import numpy as np dates = pd.date_range() df = pd.DataFrame(np.ar ...

  2. python 日期输出附带毫秒

    def get_time_stamp(ct): local_time = time.localtime(ct) data_head = time.strftime( time_stamp = &quo ...

  3. Eclipse如何快速改变主题颜色

    厌倦了Eclipse的白底黑子,我们来更换下Eclipse的主题颜色,让眼睛更舒服一点 首先先进入网址:http://eclipsecolorthemes.org/ 选择一个主题进入,点击进入如下: ...

  4. R语言-attach、detach、with

    在R语言中,对于串列,数据框中的数据的进行操作时,为了避免重复地键入对象名称,可使用attach或with. 1.attach() 假设data.frame包含列name,age attach(one ...

  5. C#两种数据类型

    C#的两种类据类型:值类型和引用类型   什么是值类型,什么是引用类型 概念:值类型直接存储其值,而引用类型存储对其值的引用.部署:托管堆上部署了所有引用类型. 引用类型:基类为Objcet 值类型: ...

  6. 4-13 Webpacker-React.js; 用React做一个下拉表格的功能: <详解>

    Rails5.1增加了Webpacker: Webpacker essentially is the decisions made by the Rails team and bundled up i ...

  7. Mass Change Queries CodeForces - 911G (线段树合并)

    链接 大意: 给定序列, 每次操作将区间[l,r]中的x全改为y, 最后输出序列 权值范围比较小, 对每个权值开一颗线段树, 每次将x合并到y上即可 #include <iostream> ...

  8. 关于vue Unexpected identifier 问题

    vue对于es6虽然自带babel转换 但是在index.html文件中并不会发生转换 因此在index.html中使用新的语法会导致低版本浏览器不识别代码因此报出Unexpected identif ...

  9. js 正则去除指定的单词

    以企业邮箱为例:@后面不能是qq   126   163  188 gmail   yahoo   sina   hotmail  suhu   sogu  等单词. <!DOCTYPE htm ...

  10. PHP:第一章——PHP中字符运算符、比较运算符、错误控制运算符

    //字符串运算符: //$a='PHP'; //$b='SEO'; //echo $a.$b;//输出:PHPSEO //echo $a.=$b;//等价于:$a=$a.$b;输出:PHPSEO // ...