1. 程式人生 > >用pandas讀取excel並畫圖展示

用pandas讀取excel並畫圖展示

初學python,啥都不懂。剛好有個資料想分析一下,便搜尋瞭如何使用python處理Excel並展示,短短的一段程式碼浪費了很多時間,直接貼程式碼吧:

  • python dict orderedDict
  • pandas
  • xlrd

程式碼塊

程式碼塊語法遵循標準markdown程式碼,例如: 
python 
import pandas as pd 
import matplotlib 
matplotlib.use(‘TkAgg’) 
import matplotlib.pylab as plt 
import collections

#讀取Excel,並且只需要第二列,第19列 
df=pd.read_excel(‘xxxxxx.xlsx’,usecols=[2,19]) 
print(df) #檢視一下,其實讀入之後是個DataPanel 
//將某一列去重,保留第一個出現的 
data=df.drop_duplicates([‘S_INFO_WINDCODE / Wind程式碼’],’first’) 
data=df 
corp={} 
for i in range(len(data)): 
company=df.iloc[i,0] 
date=df.iloc[i,1] 
date=str(date)[:4] 
# print(date) 
# 因為資料是20180808這種,numpy的int64型別,我想要按年統計 不知道有沒有更好的方式 
if date in corp: 
corp[date]=corp[date]+1 
else: 
corp[date]=1 
od = collections.OrderedDict(sorted(corp.items())) # 按年排序 
print(od.items()) 
fig, ax = plt.subplots() 
rect=ax.bar(od.keys(), od.values(), color=’b’) 
def autolabel(rects): 
“”” 
Attach a text label above each bar displaying its height 
“”” 
for rect in rects: 
height = rect.get_height() 
ax.text(rect.get_x() + rect.get_width()/2., 1.05*height, 
‘%d’ % int(height), 
ha=’center’, va=’bottom’)

autolabel(rect) 
plt.show()

腳註

目前只是按年統計,其實我還想按月統計,按更多其他維度來,還在學習中