《利用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 同步与异步性能区别
import gevent def task(pid): """ Some non-deterministic task """ geven ...
- Remastersys -- 将正在使用的Ubuntu14.04 制作成镜像文件
remastersys 是一个能够备份你的ubuntu系统的工具. 源码在github上能找到:Remastersys Source 另外系统是 Ubuntu14.04/12.04 也可以直接 apt ...
- tmp for cassandra batch delete
now i have no time to verify this bash script. it is hard for me to delete each data via primary key ...
- 解决Resource doesn't have a corresponding Go package.问题
首先上图 这个报错主要是程序要启动没有入口的原因,package main下边的mian方法才是一个程序的入口.这就要 修改目录结构如下图修改并运行就可以了
- resin中关于url rewrite来传递jsessionid的问题
最近两天在项目中碰到,一个很奇怪的问题.同一个账号多次切换登录时,会出现这个账号的信息在session中找不到,虽然可以登录成功,但是之后这个用户信息好像没有保存到session中一样,或者是被改变了 ...
- C#复制数据到剪切板
C#复制数据到剪切板 1. 复制固定的数据到剪切板 Clipboard.SetText("123456"); 于是123456就已经复制到剪切板中了,无论在任何地方粘贴都会出现‘1 ...
- Windows下openssl的下载安装和使用
Windows下openssl的下载安装和使用 安装openssl有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.下面对两种方式均进行详细描述. 一.下载和安装ope ...
- 转发一篇分析LinQ是什么?
LINQ(发音:Link)是语言级集成查询(Language INtegrated Query) ?LINQ是一种用来进行数据访问的编程模型,使得.NET语言可以直接支持数据查询 ?LINQ的目标是降 ...
- Vue组件(知识)
form最后一节. 组件基础 组件的复用: data必须是函数 组织 通过Prop向子组件传递data 单个根元素 通过event向父组件发送消息: 使用事件抛出一个value, 在组件上用v-mo ...
- CodeForces 558B
Description Amr has got a large array of size n. Amr doesn't like large arrays so he intends to make ...