当前位置:
文档之家› 5 Python基本数据统计
5 Python基本数据统计
收集
2
数据
4
3
数据
数据
分析
描述
整理
Nanjing University
用Python玩转数据
便捷数据获取
Nanjing University
用Python获取数据
4
本地数据如何获取?
文件的打开,读写和关闭 • 文件打开 • 读文件
写文件 • 文件关闭
Nanjing University
用Python获取数据
数据整理
djidf加列索引(columns)
File
# Filename: stock.py import requests import re import pandas as pd def retrieve_dji_list():
… return dji_list dji_list = retrieve_dji_list() djidf = pd.DataFrame(dji_list) cols = ['code', 'name', 'lasttrade'] djidf.columns = cols print(quotesdf)
>>> djidf.describe
<bound method NDFrame.describe of code name lasttrade
0
MM
3M 195.80
...,
29
WMT Wal-Mart 78.77>
Nanjing University
数据显示
23
数据的格式
Source
>>> sttrade
转换成固定格式
quotesdf_ori = pd.DataFrame(quotes, index = list1) quotesdf_m = quotesdf_ori.drop(['unadjclose'], axis = 1)
删除原unadjclose列
quotesdf = quotesdf_m.drop(['date'], axis = 1) print(quotesdf)
1 199.54
dji_list = []
2 77.44
for item in dji_list_in_text:
3 153.87
dji_list.append([item[0], item[1], float(item[2])])
…
30 78.31
Name: lasttrade, dtype: float64
Nanjing University
时间序列
18
File
# Filename: quotes_history_v2.py
def retrieve_quotes_historical(stock_code):
…
return [item for item in quotes if not 'type' in item]
Boeing
4 CAT
Caterpillar
djidf[:5]
lasttrade 195.80 76.80 153.06 180.76 102.43
>>> djidf.tail(5)
djidf[-5:]
code
name lasttrade
25 UTX United Technologies 121.16
lasttrade open volume
Nanjing University
数据整理
16
用1,2,…作为index(行索引)
quotesdf = pd.DataFrame(quotes) quotesdf.index = range(1,len(quotes)+1)
Nanjing University
数据形式
7
djidf
quotesdf
Nanjing University
便捷网络数据获取
8
是否能够简单方便并且快速的方式获得财经网站上公司股票 的历史数据?
File
# Filename: quotes_fromcsv.py
import pandas as pd quotesdf = pd.read_csv('axp.csv') print(quotesdf)
Nanjing University
便捷网络数据获取
9
Source
>>> r = requests.get('https:///v2/book/1084336') >>> r.text '{"rating":{"max":10,"numRaters":218148,"average":"9.0","min":0 },"subtitle":"","author":["[法] 圣埃克苏佩里"],"pubdate":"20038","tags":[{"count":52078,"name":"小王子","title":"小王子 "},{"count":43966,"name":"童话", … , "price":"22.00元"}'
删除原date列
Nanjing University
创建时间序列
Source
>>> import pandas as pd
>>> dates = pd.date_range('20170520', periods=7)
>>> dates
<class 'pandas.tseries.index.DatetimeIndex'>
2017-05-24 -1.628075 1.663377 0.943582
2017-05-25 -0.091034 0.335884 2.455431
2017-05-26 -0.679055 -0.865973 0.246970
19
Nanjing University
用Python玩转数据
数据显示
brown
>>> import nltk
>>> print(gutenberg.fileids())
['austen-emma.txt', 'austen-persuasion.txt', 'austen-sense.txt', 'bible-kjv.txt', 'blake-
poems.txt', 'bryant-stories.txt', 'burgess-busterbrown.txt', 'carroll-alice.txt',
14
Nanjing University
djidf数据:加完 columns的形式
quotesdf数据: 原始数据中已有 columns
数据整理
15
code MMM AXP AAPL … WMT
name
close
date
high
low
1464010200
1464096600
1464183000
…
1495200600
'chesterton-ball.txt', 'chesterton-brown.txt', 'chesterton-thursday.txt', 'edgeworth-
parents.txt', 'melville-moby_dick.txt', 'milton-paradise.txt', 'shakespeare-caesar.txt',
[2017-05-20, ..., 2017-05-26]
Length: 7, Freq: D, Timezone: None
>>> import numpy as np
>>> datesdf = pd.DataFrame(np.random.randn(7,3), index=dates, columns = list('ABC'))
'shakespeare-hamlet.txt', 'shakespeare-macbeth.txt', 'whitman-leaves.txt']
>>> texts = gutenberg.words('shakespeare-hamlet.txt')
>>> print(texts)
['[', 'The', 'Tragedie', 'of', 'Hamlet', 'by', ...]
Nanjing University
数据显示
21
djidf
quotesdf
Nanjing University