#範例11-10:pandas讀取同一目錄的json檔案 import pandas as pd #讀取同目錄的cost.json f1 = open('cost.json','rt',encoding='utf-8-sig') txt = f1.read() df = pd.read_json(txt) print(df[['說明','支出金額']][:5]) #計算總金額 print('計算支出總金額=',df['支出金額'].sum()) #找出支出金額最高的前5個 print('找出支出金額最高的前5個=\n', df.sort_values(by='支出金額',ascending=False)[:5]) #找出支出金額超過200的記錄 cost200 = df['支出金額'] > 200 print('找出支出金額超過200的記錄=\n',df[['說明','大項目','支出金額']][cost200]) #找出大項目是『行』的記錄 itemRide = df['大項目'] == '行' print('找出大項目是『行』的記錄=\n',df[['說明','大項目','支出金額']][itemRide]) #計算『行』的總金額 print('計算『行』的總金額=',df['支出金額'][itemRide].sum()) itemRide = df['大項目'] == '食' print('計算『食』的總金額=',df['支出金額'][itemRide].sum()) #畫出每天的花費圖 import matplotlib.pyplot as plt df.plot(x='時間', y='支出金額',grid=True, color='red',label='cost') plt.show() #找出『行,食』兩類的總金額 df.groupby('大項目')['支出金額'].sum().plot(kind='bar',stacked=True) plt.show() #畫出每天的花費(要先累計每天金額) df.groupby('時間')['支出金額'].sum().plot(kind='bar')