日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

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

發布時間:2024/7/23 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python小练习2:pandas.Dataframe使用方法示例demo 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。