pandas.Dataframe使用方法示例demo

本文通过一个实例来介绍pandas.Dataframe的各种常用操作,问题总结并修改自coursera上南京大学的课程:用Python玩转数据。

直接进入正题,我们的示例首先调用matplotlib.finance包中提供的函数quotes_historical_yahoo_ochl,通过雅虎财经提供的api函数得到了微软公司近两年的股票数据,构造成数据框Dataframe的形式。然后对其股票数据进行简单的分析和操作,例如求微软公司2015年每个月股票收盘价的平均值。通过多个类似的问题,涵盖了大多数常用Dataframe操作的练习。

代码如下:(python版本3.5)

"""
Created on Mon Jan 16 17:26:05 2017
练习:
对微软公司股票数据的操作练习
@author: AS
"""from matplotlib.finance import quotes_historical_yahoo_ochl
from datetime import date
import pandas as pd
today = date.today()
start = (today.year-2, today.month, today.day)
quotesMS = quotes_historical_yahoo_ochl('MSFT', start, today) #获取微软两年内的股票数据
attributes=['date','open','close','high','low','volume']      #属性描述
quotesdfMS = pd.DataFrame(quotesMS, columns= attributes)      #构造成DataFrameprint('通过雅虎财经api读取的近两年微软公司的股票数据的前5条')
print(quotesdfMS[:5])list = []
for i in range(0, len(quotesMS)):x = date.fromordinal(int(quotesMS[i][0])) # 转换存储时间的格式,例 735618 转换为 2015-01-20y = date.strftime(x, '%y/%m/%d')  #进一步转换格式list.append(y)
quotesdfMS.index = list  #用转换后的时间变量作为索引
quotesdfMS = quotesdfMS.drop(['date'], axis = 1) #将多余的时间变量剔除print('\n查询在2015年整年内(即1月1日至12月31日)微软股票收盘价最高的5天数据。')
print(quotesdfMS['15/01/01':'15/12/31'].sort('close', ascending=0)[:5])print('\n根据成交量升序排列2015年上半年的微软股票数据,显示前5条')
print(quotesdfMS['15/1/1':'15/5/31'].sort('volume')[:5])print('\n统计在2015年整年内(即1月1日至12月31日)微软股票收盘价每个月的均值')
list = []
quotesdfMS15 = quotesdfMS['15/01/01':'15/12/31']
for i in range(0, len(quotesdfMS15)):list.append(int(quotesdfMS15.index[i][3:5])) #时间索引的第3,4个字符对应月份,例如2015-01-20对应月份'01'
quotesdfMS15['month'] = list  #添加一列月份变量
print(quotesdfMS15.groupby('month').mean().close) #根据month分组,求每组所有变量的均值print('\n统计在2015年整年内(即1月1日至12月31日)微软股票涨价的每个月的天数')
list1 = []
tmpdf = quotesdfMS['15/01/01':'15/12/31']
for i in range(0, len(tmpdf)):list1.append(int(tmpdf.index[i][3:5]))
tmpdf['month'] = list1
print(tmpdf[ tmpdf.close > tmpdf.open]['month'].value_counts())print('\n合并在2015年整年内(即1月1日至12月31日)微软股票收盘价最高的5天和最低的5天')
sorted = tmpdf.sort('close')
print(pd.concat([sorted[:5], sorted[len(sorted)-5:]]))

Python小练习2:pandas.Dataframe使用方法示例demo相关推荐

  1. python中出栈的方法,python中栈的原理及实现方法示例

    python中栈的原理及实现方法示例 本文实例讲述了python中栈的原理及实现方法.分享给大家供大家参考,具体如下: 栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素.访问元素.删除元 ...

  2. python进行矩阵计算公式_纯python进行矩阵的相乘运算的方法示例

    本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下: def matrixMultiply(A, B): # 获取A的行数和列数 A_row, A_col = shape(A) ...

  3. python矩阵乘法算法_纯python进行矩阵的相乘运算的方法示例

    本文介绍了纯python进行矩阵的相乘运算的方法示例,分享给大家,具体如下: def matrixMultiply(A, B): # 获取A的行数和列数 A_row, A_col = shape(A) ...

  4. python corrwith_python – pandas.DataFrame corrwith()方法

    我最近开始和熊猫一起工作.任何人都可以用Series和DataFrame来解释函数.corrwith()的行为差异吗? 假设我有一个DataFrame: frame = pd.DataFrame(da ...

  5. python中dtypes_关于python:如何通过pandas DataFrame中的列设置dtypes

    我想将一些数据带入pandas DataFrame,并为导入时的每一列分配dtypes. 我希望能够对具有许多不同列的较大数据集执行此操作,但是,例如: myarray = np.random.ran ...

  6. pandas.DataFrame.apply方法详解

    1.方法的参数解释 官方解释:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.apply.htm ...

  7. python boxplot用法_python pandas DataFrame.boxplot用法及代码示例

    从DataFrame列制作箱形图. 从DataFrame列制作box-and-whisker图,可以选择按其他一些列进行分组.箱形图是一种通过四分位数以图形方式描绘数字数据组的方法.该框从数据的Q1四 ...

  8. python创建矩阵_Python创建对称矩阵的方法示例【基于numpy模块】

    本文实例讲述了Python创建对称矩阵的方法.分享给大家供大家参考,具体如下: 对称(实对称)矩阵也即: step 1:创建一个方阵 >>> import numpy as np & ...

  9. python调用oracle存,Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法.分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL. 首先,在数据库端 ...

最新文章

  1. 火山引擎视频云科技原力峰会即将开启,一起乘云 · 瞰世界
  2. 软件工程—让软件包自带commit id
  3. pep 8 规范的一些记录
  4. [转贴]非技术:在广州天河北被抢全记录(入面D广州话真系厉害,不懂粤语者别看,会吐血)...
  5. js 简单的滑动教程(四)
  6. AI(3)--- 机器学习常见的七个步骤
  7. 英语计算机班,15计算机班英语第二次月考测试卷(2017).docx
  8. win7优化设置_Win10系统优化软件,这是我用的最舒服的一款软件了!
  9. Intel Edison学习笔记(二)—— 入门环境配置
  10. Spring Boot (一)快速入门
  11. educoder-Hadoop开发环境搭建各关卡通关答案
  12. 【Hardware】【天线基础知识】
  13. ERStudio 8.0 连接MS SQL SERVER进行反向工程
  14. 保险业IT整体规划图
  15. 数据交换平台-初步设计
  16. QT框架下的OpenGL使用---实战篇---鼠标选取点对象
  17. git bash粘贴快捷键
  18. 【Groovy】Json、Xml、Swing 生成器 ( Json 生成器 JsonBuilder | Xml 生成器 MarkupBuilder | Swing 生成器 SwingBuilder)
  19. jsp未正确拼写字 mysql_江西26个英文字母的正确拼写方式
  20. mysqli被遗弃了_在您的申请中被遗忘的权利

热门文章

  1. 2021年北京交通大学925数据结构考研真题回忆版
  2. jsonp模拟获取百度搜索相关词汇
  3. 算法:合并排序(Merge Sort)
  4. Net C# 扩展方法
  5. 定制自己的Windows CE 5.0 ARM中文模拟器(转)
  6. 笔记:数据绑定表达式(一)
  7. 00002-两数之和-leetcode-1.暴力法(枚举法),2.哈希表法,目前更新了枚举法
  8. linux 进程的缓存区,Linux-标准I/O缓冲区位于进程中那个位置,堆区?栈区?还是其他位置?...
  9. mysql怎么禁止远程连接_mysql如何设置禁止远程连接
  10. mysql 有一组经纬度 返回在某个区域内_Qt编写地图综合应用17-地址经纬度互转