用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()
腳註
目前只是按年統計,其實我還想按月統計,按更多其他維度來,還在學習中