Python數據分析答疑7:Matplotlib入門

9.6 第七課作業

作業1:

模仿課上的例子,根據公司小數數據畫出交易總數最高10個公司條形圖。

提示:可以使用sort_values(by= quantity) 來實現。


作業2:使用seaborn包畫圖

畫出花萼寬度和長度的散點圖,使用品種劃分數據

畫出花萼的長度的箱線圖,使用品種劃分數據


作業3(選做):波士頓房價數據的可視化

from sklearn import datasets

boston_dataset = datasets.load_boston()

著名的機器學習數據集,大家嘗試觀察數據,提出自己的觀點。建議的作業方式依然是以文章鏈接的方式來做。


答疑Q&A目錄:

1,代碼理解:max函數

2,代碼理解:subplot(121)

3,代碼理解:inplace=True

4,代碼運行

5,代碼運行出錯:讀取文件

6,代碼運行出錯

7,代碼運行出錯

8,代碼運行:填充圖像面積

9,代碼運行:圖表

10,代碼運行:刪除圖表字符

11,圖表理解:離散化

12,代碼理解:tick / barh

13,代碼運行出錯:無效句法

14,代碼理解:空格

15,代碼運行出錯

16,代碼理解

Q 1 :我自己實現了一下agg自帶的max函數。有個問題是,之前老師有些max=None,但是這么寫報i和max不是一個類型。有點郁悶。

# 手動實現max

def manual_max(arr):

max = 0

for i in arr:

if (i > max):

max = i

return max

#manual_max(iris.sepal_length)

iris.groupby('species').agg({'sepal_length':[manual_max]})


A:對,不是一個類型,所以我有個判斷

if max is None:

max = i

類似這樣的操作。


Q 2 :在一張圖上畫了兩個圖,就是那個aaa_subplot。我的問題是,ax1 /ax2只是在產生的時候得到,但是這兩個變量在后面的函數中并沒有使用。那么怎么知道是畫在第一個地方還是畫的第二個?


A:ax1后面的subplot(121)代表一行兩個圖的第一個圖

ax2后面的subplot(122)代表一行兩個圖的第二個圖


Q 3 :第七次課程里面,求銷售額最高的10個公司那個例題,老師用的更換名字的代碼,最后面的inplace=True的作用是什么啊?我把inplace=True刪掉,輸出的結果也是一樣的。


A :inplace=True相當于把前面修改過的名字傳回到原數據中。


Q 4 :第6課選做作業里面,如何表示非星期六或星期天?求解答。


A :tips[(tips[day] != "Sun") & (tips[day] != "Sat")]


圖1

Q 5 :讀取文件的時候出現了上圖(圖1)錯誤提示,怎么辦?


A :從QQ群里面下載文件,估計你這個文件有問題。


Q 6 :我用自定義函數agg,為什么會報錯?對照例子看了好多遍,都沒發現問題(參照上面兩個圖)


A:首先,第一個圖返回的不是一個統計量,非標量,需要使用更通用的apply方法,還有一個問題,arr.mean(),這個是求按分組求各列的平均值,但是species是字符串型,無法計算平均值。

二圖,錯誤原因也是因為返回的值非標量,需要使用通用的apply方法,而不是agg。


追問Q:還是沒弄懂,我按照老師的方法,只是定義的函數我改成了delta_iris,而不是range_iris。結果就出錯了,難道和定義的名字還有關系嗎?我徹底瘋了,這個問題困惑了4個小時了。過不去了…………


A:和名字沒關系,主要是理解apply和agg的區別,多嘗試不同的案例試試。


圖4

Q 7 :按老師的操作,列名變成了數字,圖4,這是什么原因?


A:注意,這里columns寫錯了。


圖5

Q 8 :作業7.1與7.2還是簡單的,主要就是把例題中的名字換一下再運行下。目前有個關于圖像的填充問題一直沒得到解決:y=sin(x)如圖顯示(圖5),如何填充這個圖像下側的面積?


A:試試如下代碼:plt.fill_between(x, y, y2=-1),是不是你想要的效果。


圖6

Q 9 :問題,超過9張圖,能畫在一張畫布上嗎?(圖6)


A :可以的,你可以試試,三行三列。


圖7

Q 10 :想用.show()把sns箱圖結果里的字去掉,未果,如上圖(圖7),求教sns里怎么去掉?


A:可以的,要把plt.show()放在最后一行


圖8

Q 11 :選做題,1看下房價和犯罪率的關系:其實不大懂數學和讀圖,猜一下這個圖是房價30-50之間的犯罪率最低,房價低于30或是最高50的地區比較容易發生犯罪,所以買房子盡量避開貧民區和土豪的地。。


A:如果你要畫房價與犯罪率的箱圖,首先需要把房價按區間分組離散化,比如0.1-0.2之間是一組,不然這圖感覺就是奇葩的散點圖,什么也說明不了


圖9

Q 12 :問題:圖9,標注1,為什么這個tick改的就是y軸呢?也沒指明x還是y

標注2,為什么這里的plt.yticks, 只把第二圖里的y軸改掉了,格式上沒有縮進,程序怎么識別的是要改第二個而沒把第一個圖的y軸也給隱藏呢?

另外,barh(x, y)里,x是不是x軸,y是不是y軸?貌似由bar變成barh,x和y跟著反過來了。。。但是下面的plt.x/yticks,還是按照barh之后的x/y來的。。


A:label的意思是標簽,柱形圖的標簽只存在與一個位置,另一個是數值啊,所以不用指定。

visible為什么不影響第一張圖,你可以理解為有個畫筆吧,當調用了add_subplot(121),相當于畫筆開始畫第二幅圖了。

barh和bar的方法定義你可以看下,他們的變量都不是表示x, y,也就是并沒有說開頭兩個參數是代碼x、y,只是表示一個是標簽一個是數值。


圖10

Q 13 :這里一直提示 America那里有一個 無效句法,但是我不知道問題在哪里。哪位同學可以幫我看下啊


A:變量名不能有空格,可以用North_American代替North American


圖11

Q 14 :使用unique統計的時候,這里有空格(圖11)。是因為這里不是變量名,是dadaframe的一個數值,所以允許?


A :是的。


圖12
圖13

Q 15 :我遇到一個人均平均消費水平的問題,最后一列的結果總是不對,有人能看出原因嗎?(圖12)


A :取值運算中 . 與[ ] 不一定等價 。改成圖13.

圖14


圖15


Q 16 :為什么這個結果顯示不是0呢?(圖14)


A:圖15,我這么理解的,是內部計算是保留精讀的問題,這里math.pi*360/2pi 不等于180,所以結果不是0。math.asin(np.sin(math.pi))用反函數求了對應的弧度,和正弦值相等,符合弧度無窮小時,正弦曲線呈現y=x的性質。不知道這樣夠不夠說明清楚了。嘗試用了degree轉換,但沒成功


以上內容整理來源:新生大學 —— 解密大數據團隊的《Python編程&數據科學入門》線上課程 第七課《Matplotlib入門》的 作業區/討論區以及QQ群聊記錄。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,333評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,491評論 3 416
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,263評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,946評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,708評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,186評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,255評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,409評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,939評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,774評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,976評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,518評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,641評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,872評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,650評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,958評論 2 373

推薦閱讀更多精彩內容