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()

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值