Python pandas(DataFrame)學習筆記4

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

data=pd.read_csv('ticker_data.csv')
data.rename(columns={'INTC': 'Intel',
               'MSFT': 'Microsoft',
               'IBM': 'IBM',
               'BHP': 'BHP',
               'TM': 'Toyota',
               'AAPL': 'Apple',
               'AMZN': 'Amazon',
               'BA': 'Boeing',
               'QCOM': 'Qualcomm',
               'KO': 'Coca-Cola',
               'GOOG': 'Google',
               'SNE': 'Sony',
               'PTR': 'PetroChina'})

在這裏插入圖片描述

data=data.fillna(0) # 將缺失值填充爲0
changeofprice=np.zeros((251,13))
a=range(1,14)
b=range(0,251)
# 計算價格變動
for i in a:
    for j in b:
        changeofprice[j,i-1]=(float(data.iloc[j+1,i])-float(data.iloc[j,i]))/float(data.iloc[j,i])
# 將矩陣中的數據存儲到DataFrame中
df=pd.DataFrame({'Intel':changeofprice[:,0],
               'Microsoft':changeofprice[:,1],
               'IBM':changeofprice[:,2],
               'BHP':changeofprice[:,3],
               'Toyota':changeofprice[:,4],
               'Apple':changeofprice[:,5],
               'Amazon':changeofprice[:,6],
               'Boeing':changeofprice[:,7],
               'Qualcomm':changeofprice[:,8],
               'Coca-Cola':changeofprice[:,9],
               'Google':changeofprice[:,10],
               'Sony':changeofprice[:,11],
               'PetroChina':changeofprice[:,12],})
print(df)

在這裏插入圖片描述

# 求均值,畫柱狀圖
m=np.mean(df)
print(m)
mm=m.sort_values(ascending=True)
mm.plot(kind='bar')

在這裏插入圖片描述

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

ticker_list = {'INTC': 'Intel',
               'MSFT': 'Microsoft',
               'IBM': 'IBM',
               'BHP': 'BHP',
               'TM': 'Toyota',
               'AAPL': 'Apple',
               'AMZN': 'Amazon',
               'BA': 'Boeing',
               'QCOM': 'Qualcomm',
               'KO': 'Coca-Cola',
               'GOOG': 'Google',
               'SNE': 'Sony',
               'PTR': 'PetroChina'}

ticker = pd.read_csv('ticker_data.csv', index_col='Date') # 從csv文件中讀取數據, 並設置以'Date'列作爲行索引
ticker.loc['price_change'] = (ticker.loc['2013-12-31']-ticker.loc['2013-01-02'])/ticker.loc['2013-01-02']
ticker.loc['price_change'] = ticker.loc['price_change']*100
ticker.columns = ticker_list.values()
ticker = ticker.sort_values(by='price_change', axis=1, ascending=True)
ticker.loc['price_change'].plot(kind='bar')
plt.show()

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章