Python第五次作業

2022-08-22 06:39:09 字數 3879 閱讀 4069

習題1:讀入檔案pmi_days.csv,完成以下操作:

1.統計質量等級對應的天數,例如:

優:5天

良:3天

中度汙染:2天

2.找出pmi2.5的最大值和最小值,分別指出是哪一天。

1

import

pandas as pd

2import

numpy as np

34 days_path = open(r"

c:\users\shinelon\desktop\pmi_days.csv")

5 days_df =pd.read_csv(days_path)67

#統計質量等級對應的天數

8 data = days_df.groupby('

質量等級')

91011 day_you = dict([x for x in data])['優'

]12 day_liang = dict([x for x in data])['良'

]13 day_qing = dict([x for x in data])['

輕度汙染']

14 day_zhong = dict([x for x in data])['

中度汙染']

15print("

優:%d天

" % len(day_you.index), "

\n良:%d天

" %len(day_liang.index),16"

\n輕度汙染:%d天

" % len(day_qing.index), "

\n中度汙染:%d天

" %len(day_zhong.index))

171819#

找出pm2.5的最大值和最小值,分別指出是哪一天

20 sort_pm25 = days_df.sort_values(by='

pm2.5')

21 sort_pm25_2 = sort_pm25.reset_index(drop=true)

22print("

pm2.5最大的一天是:%s。數值:%d

" % (sort_pm25_2['

日期'][29], sort_pm25_2['

pm2.5

'][29]),23"

\npm2.5最小的一天是:%s。數值:%d

" % (sort_pm25_2['

日期'][0], sort_pm25_2['

pm2.5

'][0]))

習題2:讀入檔案1980-2018gdp.csv,完成以下操作:

1.按行輸出每年gdp資料,表頭列名如檔案第1行所示。

2.將各年gdp資料轉換成字典格式,以年份為keys,其它值為values(資料型別為列表方式),例如:

3.遍歷字典資料,求出gdp的最小值與最大值,並輸出資料與對應的年份。

1

import

pandas as pd

23 days_path = open(r"

c:\users\shinelon\desktop\1980-2018gdp.csv")

4 days_list =pd.read_csv(days_path)56

#1.按行輸出每年gdp資料

7print(days_list, "

\t\t\n")

8910#

2.將各年gdp資料轉換成字典格式,以年份為keys,其它值為values(資料型別為列表方式)

11 dict_gdp = days_list.set_index('

年份').t.to_dict('

list')

12print("

字典:", dict_gdp, "\n"

)131415

#3.遍歷字典資料,求出gdp的最小值與最大值,並輸出資料與對應的年份。

16 data_max = max(dict_gdp, key=dict_gdp.get)

17 data_min = min(dict_gdp, key=dict_gdp.get)

18print("

gdp最大值:

", data_max, dict_gdp[data_max], "\n"

)19print("

gdp最小值:

*由於字典太長,所以只擷取了其中兩個鍵值對。

習題3:擴充套件(選作,二選一)

1.繪製每年的gdp資料的直方圖,橫座標為年份,縱座標為gdp值。

2.繪製每年的gdp資料的折線圖,橫座標為年份,縱座標為gdp值。

1

import

pandas as pd

2import

numpy as np

3import

matplotlib.pyplot as plt

45 days_path = open(r"

c:\users\shinelon\desktop\1980-2018gdp.csv")

6 days_list =pd.read_csv(days_path)78

#print(days_list)

9 plt.rcparams['

font.sans-serif

'] = ['

simhei

'] #

預設字型

10 plt.rcparams['

axes.unicode_minus

'] = false #

」-「負號為方塊問題

1112 plt.figure(figsize=(30, 8))

13 plt.xlim(1978, 2019)

14 plt.ylim(0, 1000000)

15 x_num = np.arange(1978, 2019, 1)

16 y_num = np.arange(0, 1000000, 50000)

17plt.xticks(x_num)

18plt.yticks(y_num)

1920

#1.繪製每年的gdp資料的直方圖

21 plt.bar(days_list['

年份'], days_list['

gdp(億元)

'], label="

gdp值

", color='c'

)22#2.繪製每年的gdp資料的折線圖

23 plt.plot(days_list['

年份'], days_list['

gdp(億元)

'], label="

gdp值

", color='r'

)2425 plt.title('

1980-2023年gdp資料統計圖')

26 plt.xlabel('

年份(年)')

27 plt.ylabel('

gdp值(億元)')

第五次作業

一 問題及 include using namespace std class time void add a minute void add an hour void add seconds int n void add minutes int n void add hours int n voi...

第五次作業

當我們在討論多型性的時候,通常會用過載函式進行舉例,而這次發現的問題主要在過載運算子上,因此我希望通過對過載運算子的測試來得出乙個結論。我們想知道為什麼前置運算子和後置運算子會有區別,因此設計了乙個實驗來證明它 得到最終結果如預期那樣。通過這次作業,我能感受到前置和後置運算子的區別,通過x 和y x...

第五次作業

insert into student sno,sname,s sdept,sage values 201215128 陳冬 男 is 18 建表時規定學號唯一,而在建表時已經加入了該學號,所以不能有兩個相同學號。3.70 insert into student sno,sname,s sdept,...