大壮老师的开场:欢迎学习《用Python玩转数据》,本课程用非计算机专业的小伙伴们能听得懂的方式来讲述如何利用Python这种简单易学的程序设计语言方便快捷地获取数据、表示数据、分析数据和展示数据,通过多个案例让大家轻松愉快地学会用Python玩转各领域数据。相信《用Python玩转数据》是一门可以让你不再害怕数据处理的计算机程序设计课,2016年9月8日10:00,大壮老师期待你的加入^_^。
MODULE 01: Python基础之第二周 Python面面观
题目内容:
找第n个默尼森数。P是素数且M也是素数,并且满足等式M=2P-1,则称M为默尼森数。例如,P=5,M=2P-1=31,5和31都是素数,因此31是默尼森数。
输入格式:用input()函数输入,注意如果Python 3中此函数的返回类型
输出格式:int类型
输入样例:4
输出样例:127
Python实现
|
|
MODULE 02: 数据获取与表示之第三周 数据获取与表示
题目内容
定义函数countchar()统计字符串中所有出现的字母的个数(允许输入大写字符,并且计数时不区分大小写)。形如:
输入格式:
字符串
输出格式:
列表
输入样例:
Hello, World!
输出样例:
[0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 3, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0]
Python实现
|
|
题目内容:
抓取百度贴吧(注意你所评价的程序是用Python 2还是Python 3书写的,分别使用print语句和print()函数)“http://tieba.baidu.com/p/1000000000”至“http://tieba.baidu.com/p/1000000009”这10个页面并以1000000000.html~1000000009.html这样的文件名保存到本地硬盘上(提示:文件写入使用wb模式)。
Python实现
|
|
题目拓展:获取python吧的前10页的发帖内容
|
|
MODULE 03: 第四周 强大的数据结构和Python扩展库
题目内容:
有5名某界大佬xiaoyun、xiaohong、xiaoteng、xiaoyi和xiaoyang,其QQ号分别是88888、5555555、11111、1234321和1212121,用字典将这些数据组织起来。编程实现以下两个功能:
(1)用户输入某一个大佬的姓名后可以输出其QQ号,如果输入的姓名不在字典中则返回提示信息并允许再次输入;
(2)寻找所有有QQ靓号(5位数或小于5位数)的大佬,输出所有姓名。
其中Python 2中提示输入和输出结果的两句提示语请使用如下形式:
name = raw_input(“Please input the name:”)
print “Who has the nice QQ number?”
其中Python 3中提示输入和输出结果的两句提示语请使用如下形式:
name = input(“Please input the name:”)
print(“Who has the nice QQ number?”)
Python实现
|
|
MODULE 04: Python数据统计和可视化
准备知识:
matplotlib.finance子模块提供了一个获取雅虎股票数据的api接口:quotes_historical_yahoo_ochl
datetime.date:表示日期的类。常用的属性有year, month, day;
datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
datetime.datetime:表示日期时间。
datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
datetime.tzinfo:与时区有关的相关信息。
date类定义了一些常用的类方法与类属性,方便我们操作:
date.max、date.min:date对象所能表示的最大、最小日期;
date.resolution:date对象表示日期的最小单位。这里是天。
date.today():返回一个表示当前本地日期的date对象;
date.strftime(fmt):自定义格式化字符串;
date.fromtimestamp(timestamp):根据给定的时间戮,返回一个date对象;
datetime.fromordinal(ordinal):将Gregorian日历时间转换为date对象;
数据显示
索引:quotesdf.index
列名:quotesdf.columns
数据的值:quotesdf.values
数据的描述:quotesdf.describe
从头开始显示前5个:quotesdf.head(5)
从尾开始显示后5个:quotesdf.tail(5)
数据选择
切片方式
索引方式
loc 行列索引 iloc 行列位置
行:quotesdf[u’2016-09-01’:u’2016-09-10’] quotesdf.loc[1:5,] quotesdf.iloc[1:6,]
列:quotesdf[‘low’] quotesdf.loc[:,[‘open’,’high’]] quotesdf.iloc[:,[0,2]]
区域:quotesdf.loc[1:5,[‘open’,’high’]] quotesdf.iloc[1:6,[0,2]]
单个值:quotesdf.loc[5,’open’] quotesdf.at[5,’open’] quotesdf.iat[5,0]
条件帅选
quotesdf[columns=’open’]
quotesdf[(quotesdf.open>=60)]
简单统计和处理
均值 quotesdf.mean[columns=’open’]
排序 quotesdf.sort[columns=’close’]
分组 quotesdf.groupby[‘mouth’]
Merge 追加 append 连接 concat join
题目内容:
利用财经数据接口爬取雅虎AXP公司股票数据
python 实现:
|
|
题目内容:
求微软公司(MSFT)2015年第一季度股票收盘价的平均值
python 实现:
|
|
|
|
题目内容:
计算 MovieLens 100k 数据集中男性女性用户评分的标准差并输出(结果保留 6 位小数,并且两个值中间用一个空格分隔)。
数据集下载 http:// les.grouplens.org/datasets/movielens/ml-100k.zip
其中
u.data 表示 100k 条评分记录,每一列的数值含义是:
user id | item id | rating | timestamp
u.user 表示用户的信息,每一列的数值含义是:
user id | age | gender | occupation | zip code
u.item 文件表示电影的相关信息,每一列的数值含义是:
movie id | movie title | release date | video release date |IMDb URL |
unknown | Action | Adventure | Animation | Children’s | Comedy | Crime
| Documentary | Drama | Fantasy |Film-Noir | Horror | Musical | Mystery
| Romance | Sci-Fi |Thriller | War | Western |
可能会用到的相关函数:
pandas.read_table( lepath_or_bu er, sep=’\t’, names=None)
pandas.pivot_table(data, values=None, columns=None, aggfunc=’mean’)
pandas.merge(left, right, how=’inner’)
更详尽的 API 文档请参考 http://pandas.pydata.org/pandas-docs/stable/ 。
|
|
|
|
最近访客
本作品采用知识共享署名 2.5 中国大陆许可协议进行许可,欢迎转载,但转载请注明来自 Sunshine 并保持转载后文章内容的完整。本人保留所有版权相关权利。
本文链接:http://gaobb.github.io/2016/09/30/学习笔记_Learning_Python/