增加網址:
文章備註、標題(會記錄下來,但是暫時不會顯示):
[綜合]無題 無名 ID:Oo5vB0mo 2019/03/03(日) 16:11:36.119 No.14029773
評分:0, 年:0, 月:0, 週:0, 日:0, [+1 / -1] 最後更新:2019-03-08 15:10:42
附圖
這裡程設超新手
正開始學python

網路上看到

import pandas as pd
import matplotlib.pyplot as plt

s = pd.Series([1, 2, 3])
fig, ax = plt.subplots()
s.plot.bar()
fig.savefig('my_plot.png')

看不懂
fig, ax = plt.subplots()
plt.subplots()會跑出個空白的圖
為甚麼可以assign給fig 和 ax
這是甚麼意思?
fig.savefig('my_plot.png')
而且他怎麼可以這樣存檔?
圖不是用s序列裡的值畫出來的嗎?

然後我想依樣畫葫蘆
import pandas as pd
import matplotlib.pyplot as plt
import mglearn

fig = mglearn.plots.plot_linear_regression_wave()

fig.savefig('my_plot.png')

想把這張圖mglearn.plots.plot_linear_regression_wave()存成檔案
不知道跟怎麼做才對

現在遇到問題上網爬文 連爬文有時都看不懂
不知道各位一開始都是怎麼學習的?
還有在哪個論壇討論?
我爬文常常會爬到stackoverflow
不確定是不是該去那邊半個帳號
無題 無名 ID:mpYTw0ns 2019/03/03(日) 16:12:22.203 No.14029778
回覆: >>14029918
50C
無題 無名 ID:Oo5vB0mo 2019/03/03(日) 16:28:37.442 No.14029918
回覆: >>14029929
>>14029778
呼呼 你是暴怒句號狗吧
無題 無名 ID:mpYTw0ns 2019/03/03(日) 16:29:48.970 No.14029929
附圖
無題 無名 ID:DGSYtykA 2019/03/03(日) 16:32:36.875 No.14029947
回覆: >>14030034
進去看api在幹嘛
無題 無名 ID:d7WsFJzE 2019/03/03(日) 16:34:54.894 No.14029967
這命名有夠爛
無題 無名 ID:VES7saBM 2019/03/03(日) 16:34:56.143 No.14029968
回覆: >>14030034
超新手就乖乖回去學C摸pointer、不要跟風學人家python搞大數據了
無題 無名 ID:FuzYeKiI 2019/03/03(日) 16:36:21.880 No.14029984
回覆: >>14030034
有api文件就一個個看說明吧
看不懂英文就用google翻譯
無題 無名 ID:Oo5vB0mo 2019/03/03(日) 16:41:54.183 No.14030034
>>14029947
>>14029984
好的 等等去看文件

>>14029968
你是說C語言嗎?
聽說難到靠北 那不適合超新手吧?
我沒再搞大數據拉 只是隨便抓個東西想試試看存成檔案
學python是因為聽說相對簡單 適合入門?
無題 無名 ID:VES7saBM 2019/03/03(日) 16:43:50.176 No.14030051
回覆: >>14030165
>>14030034
>你是說C語言嗎?
>聽說難到靠北 那不適合超新手吧?

......也許coding不適合你 祝福你找到更好的語言
無題 無名 ID:FuzYeKiI 2019/03/03(日) 16:44:26.497 No.14030059
回覆: >>14030165
>>14030034
你需要學VB.NET那種所見即所得的,還有IDE的語言
來入門
無題 無名 ID:g4mwTqpg 2019/03/03(日) 16:45:55.557 No.14030076
回覆: >>14030165
>>14030034
那你用這個衝三小
先去寫純文字檔好嗎
無題 無名 ID:KAP2R8Fg 2019/03/03(日) 16:53:09.117 No.14030140
>>14029773
你問的這些都沒有為什麼
那幾個函數的用法就是那樣
無題 無名 ID:Oo5vB0mo 2019/03/03(日) 16:55:28.258 No.14030165
回覆: >>14030196
>>14030051
所以你是推薦從C語言學起喔?
那java呢?

>>14030059
等等查查看

>>14030076
好啦 只是覺得好像有點好玩
我要回去hello world了QQ
無題 無名 ID:oZmjUdtA 2019/03/03(日) 16:57:17.821 No.14030183
回覆: >>14030316
Java 比還願還過氣
無題 無名 ID:g4mwTqpg 2019/03/03(日) 16:59:22.809 No.14030196
回覆: >>14030316
>>14030165
不在學院也沒有要比競賽的就不要從 C/Java 開始學比較好
無題 無名 ID:Yv506Fcg 2019/03/03(日) 16:59:36.185 No.14030200
>>14030034
C 可以寫出 Python Interpretor
反過來 Python 不能

學 C 好處 入門 C# 容易
學 C# 好處 入門 Java 容易
C# Lamda 表達式和匿名用法則和 Javascript 很像
程式語言不該只會一種 除非你要非常非常精通 而不是應用
無題 無名 ID:z/iSeK8A 2019/03/03(日) 17:00:23.950 No.14030208
回覆: >>14030316
害我想到以前自學8051一條一條asm刻霹靂燈的菜雞年代
無題 無名 ID:Yv506Fcg 2019/03/03(日) 17:04:58.953 No.14030243
回覆: >>14030316
純軟體應用可以不用學 C 直接學 C#
但是學 C 還可以去搞韌體、Arduino 等等
C 編譯出的程式也可以包裝成 dll
給 .NET C# 調用函式庫 享有機器碼的隱密又有高級語言的便利
無題 無名 ID:.LrFG7Pc 2019/03/03(日) 17:09:12.619 No.14030279
回覆: >>14030444
如果你只是三分鐘熱度學好玩的
那python玩玩就好
如果你想深究程式世界、或想當高等工程師
還是從C學起才底子深厚
C不是不適合新手學,是不適合沒心要學的人學
學完C再去學C++、java、C#這幾個選一,然後再學python、ruby這種比較高階的

stackoverflow基本上你能遇到的問題上面都有人問過了
要懂得用,但不需要自己辦帳號
如果你查不到你的問題通常是因為你描述問題的方法不對,而不是沒人問過
或是你的問題真的太低能他不給問,他們會審核問題砍掉太低能的

要學程式一定要會英文
但如果你只是想玩玩python不想深究的話其實也不那麼需要
無題 無名 ID:Oo5vB0mo 2019/03/03(日) 17:11:21.581 No.14030316
>>14030183
過氣了? 可是還是蠻常聽到的
我身邊有一個認識的
說他會java就是神
究竟是...

>>14030196
我是怕太難我學得太差
現在光號稱沒那麼難的python我都快阿嘿顏了

>>14030200
>>14030243
感謝 比較了解他們之間的關係了

>>14030208
參見老島民
無題 無名 ID:5Hwyevlo 2019/03/03(日) 17:24:01.301 No.14030444
>>14030279
不會吧
從C開始會不會太硬派?
資工系也沒這樣吧?
無題 無名 ID:GJ9nwPII 2019/03/03(日) 17:26:57.009 No.14030467
>>14030444
資工系是從C學上來的啊
無題 無名 ID:.LrFG7Pc 2019/03/03(日) 17:27:58.875 No.14030473
>>14030444
資工系不硬派還有誰能硬派?
連C都學不起的還是乖乖去讀文組吧
無題 無名 ID:FuzYeKiI 2019/03/03(日) 17:28:14.383 No.14030476
>>14030444
大一C語言就是要勸退不適合的人
無題 無名 ID:DtjcU79s 2019/03/03(日) 17:28:22.921 No.14030478
>>14030444
不會吧
C也沒有很難啊
最難的也只有指標的概念
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 17:31:59.398 No.14030513
回覆: >>14030647
附圖
>>14030200
其實是學C作古比較容易

C#要學建議直接學C#,學C出身的人很容易把自己蓋輪子那套搬到C#。
然後就出現狗死爛扣。
無題 無名 ID:Bj7Us8Is 2019/03/03(日) 17:34:01.342 No.14030527
成大電機大一就教C++
無題 無名 ID:JRpsLRhs 2019/03/03(日) 17:35:40.012 No.14030544
>>14030444
這裡一個廢物數學系拉
大一一進去的程式設計就是叫你用C

非本科都學得起來了
資工系這樣還叫太硬派會不會太廢
無題 無名 ID:z/iSeK8A 2019/03/03(日) 17:46:53.683 No.14030647
>>14030513
果然肉餅臉都是弱智
無題 無名 ID:ipcZtTiY 2019/03/03(日) 18:01:09.955 No.14030756
我搞不太懂為什麼學校很愛教c,多數人遇到的應該都是更高階的語言
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 18:06:02.740 No.14030799
回覆: >>14031499
附圖
>>14030756
因為用C比較好教書上的理論,與套用數學的算法。
另外學C才能對於一些電子原理有較深的體悟。

但是這些呢.....除非你是世界前10%的人不然學起來對於工作的幫助都沒那麼直接。
因為實務上你要學習"怎麼用"反而比較重要。
畢竟這些困難需要突破的問題已經有人解過了,
與其你在花時間重作不如將別人封裝好的工具拿來用。

當然還有另外一個更直接的原因:教授不想學新語言
無題 無名 ID:ECF8Sahg 2019/03/03(日) 18:06:20.807 No.14030807
>>14030756
先學C再去學其他的比較搞得動什麼是物件導向吧
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 18:09:18.544 No.14030833
附圖
>>14030807
屁拉!!!你知道Visual Studio C#預設是不給你用pointer的嗎?

然後JAVA也不建議你用pointer

套用學C學指標會比較好學物件,我看是會先被自己觀念調整那關整死
無題 無名 ID:.LrFG7Pc 2019/03/03(日) 18:11:35.113 No.14030853
>>14030833
整個JAVA全都是pointer
因為太常用了乾脆叫你省掉指標號他自己加
然後你說不建議用??
智障丸果然是世界後90%的廢物
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 18:13:14.014 No.14030872
附圖
>>14030853
你是真的很想害新手耶......
無題 無名 ID:XTqQwi7g 2019/03/03(日) 18:19:01.910 No.14030944
回覆: >>14030971
>>14030807
物件導向是一種設計概念
先學C對學習物件導向根本沒有相關性
>>14030833
JAVA沒有pointer只有reference好嗎
來這都搞不懂
大俠你重新來過吧
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 18:22:06.340 No.14030971
回覆: >>14031202
附圖
>>14030944
【JAVA沒有pointer只有reference】教學與實作上我當然知道,
我是預設他會把pointer觀念套用到reference
,而且>>No.14030853 這段也證實我的想像。

我現在只是在想要不要無限上綱到底層都是010101記憶體處理,
是不是要在叫大家先去學組語這塊而已。
無題 無名 ID:oZmjUdtA 2019/03/03(日) 18:29:12.222 No.14031052
一堆文組不過學了半桶水就在那邊釣魚
笑死人了
無題 無名 ID:TPUUyjK. 2019/03/03(日) 18:41:14.810 No.14031173
>>14030853
在JAVA寫遞迴的時候常常被這件事婊阿
無題 無名 ID:XTqQwi7g 2019/03/03(日) 18:44:19.580 No.14031202
回覆: >>14031309
>>14030971
知道就不要預設而是糾正
無題 無名 ID:.LrFG7Pc 2019/03/03(日) 18:54:08.204 No.14031295
回覆: >>14031940
之前在stackoverflow看到一篇滿有道理的
他說不同語言的使用者對pointer跟reference這兩個單字會有不同的認知
像是C只有pointer,Cer就常常認為reference就是pointer的別稱、毫無不同
C++兩種東西都有,C++er就會用C++裡兩者的性質去區分兩者

java的那個東西
在我這個C++er的眼裡看起來就是比較接近Object*而非Object&
所以我叫他pointer
也許javaer把它叫做reference,但語言上的差異仍舊不影響我們指稱的是同一個東西的事實

javaer花了無數的心血試圖說服純新手接受用一樣的方式宣告int跟Object會得出不同性質的規則
但對一個學過C的人,只需要一兩句話就能把這整件事交代得乾乾淨淨
還搞得比學java入門的人還清楚
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 18:55:03.061 No.14031309
附圖
>>14031202
那糾正他的這個重責大任就交給你了,我是不太想裡暴怒廚拉。
無題 無名 ID:DtjcU79s 2019/03/03(日) 19:12:03.471 No.14031499
回覆: >>14031933
>>14030799
又不是說用C就需要重做輪子
雖然C的套件管理不成熟 還是能用library啊
不先google看有沒有合適的library 反而自蓋輪子 那是他們的問題吧

>>14030807
應該說先學C再去學其他的比較搞得懂爲什麼要學物件導向吧
無題 無名 ID:YUxb.vaQ 2019/03/03(日) 19:18:29.473 No.14031565
資工系要學C很簡單,就是因為他偏向低階語言。
這樣配合"計算機結構"跟"計算機組織",你才能搞懂電腦是怎樣從底往上建構,看情況可能還學組合語言。
無題 無名 ID:V8yc87WQ 2019/03/03(日) 19:29:47.933 No.14031692
>物件導向
從來都沒弄懂過這東西的實用性在哪?
感覺只是把很簡單的東西賣弄的很複雜而已
弄一堆沒必要的繼承邏輯上根本狗屁不通
無題 無名 ID:OFjfqCwE 2019/03/03(日) 19:37:56.323 No.14031807
回覆: >>14031906
>>14031692
主要是用於分工與重用。
物件導向的最重要目的是割分"介面"與"實做",使的程式片段變成一個個library。因此使用物件導向來提供:建構、解構、複製、移動、儲存狀態等等功能。
無題 無名 ID:.LrFG7Pc 2019/03/03(日) 19:39:13.919 No.14031818
回覆: >>14031906
>>14031692
寫小程式的時候用不到
但寫大程式的時候就需要了
那些繼承可以大幅減少重複的程式碼

教學的時候不可能塞給你一個100KB的程式碼給你看
所以看教學範例都會覺得這根本狗屎
因為他寫給你的物件導向小程式真的就是狗屎
但等你真的動手寫了100KB的大程式,物件導向就是會比較漂亮

當然也不排除你遇到了真的寫得很爛的大型物件導向程式
世上一切工具都有人能把它用爛
無題 無名 ID:V8yc87WQ 2019/03/03(日) 19:45:48.838 No.14031906
>>14031807
>>14031818
Linux kernel夠大了吧? 還不是用C跟組合語言寫
別再為自己不能寫出好code找藉口了
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 19:48:45.033 No.14031933
附圖
>>14031499
看過很多例子,覺得自己學C出身換跑道就以為自己好棒棒,連找套件/重學開發習慣都不肯。
然後就自己硬幹起來弄輪子。

因此主要是對於
"要學OO語言先學C會比較好上手"這種論調抱持不以為然
無題 無名 ID:jSSQKFzc 2019/03/03(日) 19:49:08.272 No.14031939
>>14031906
你每天都在量產linux kernel?
無題 無名 ID:XTqQwi7g 2019/03/03(日) 19:49:09.884 No.14031940
>>14031295
你真的知道定義就不會說兩個是一樣的東西
>>14031692
會這樣講的話
你根本不懂物件導向
先了解再去批評好嗎
無題 無名 ID:ewxMowN6 2019/03/03(日) 19:51:06.073 No.14031956
>>14031906
本來物件導向就是幫助你更容易分工用的,
你要用C也是做的到,比較麻煩而已。
就好像你用C做個資料庫,可能是像這樣
inin_database() {
}
free_database() {
}
inquiry_database() {
}
用物件導向包就可以變這樣
class database {
database() {
}
~database() {
}
inquiry() {
}
}
無題 無名 ID:RPIz6bEM 2019/03/03(日) 19:51:19.648 No.14031958
>>14031692
其實滿實用的
你要是程式真的寫很大的話才會了
可以少寫很多很多又容易管理
但是很小型的話你的確可以不要理會
無題 無名 ID:V8yc87WQ 2019/03/03(日) 19:58:14.380 No.14032029
已經不行了...
已經都是物件導向的腦的綜合....
無題 無名 ID:FC.n5PGE 2019/03/03(日) 20:10:44.586 No.14032183
回覆: >>14032200
結果元po的問題解決沒?
無題 無名 ID:gHnuvvh2 2019/03/03(日) 20:12:25.046 No.14032200
>>14032183
後面已經跟原PO一點關係都沒有了
無題 無名 ID:Oo5vB0mo 2019/03/03(日) 20:14:58.396 No.14032229
我原PO拉
早就沒呼吸了
又不斷發現新問題
而且又不知道怎麼解決
寫摳的都不會遇到卡死的情形嗎?
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 20:17:29.008 No.14032253
回覆: >>14032392
附圖
>>14032229
你要享受這個過程
無題 無名 ID:.LrFG7Pc 2019/03/03(日) 20:17:35.667 No.14032256
回覆: >>14032392
>>14032229
所以你決定學C了沒

>>寫摳的都不會遇到卡死的情形嗎?
睡一覺就會懂了
無題 無名 ID:DtjcU79s 2019/03/03(日) 20:21:57.447 No.14032293
回覆: >>14032392
>>14032229
plot_linear_regression_wave 沒return值吧
https://github.com/amueller/mglearn/blob/master/mglearn/plot_linear_regression.py
無題 無名 ID:f334woJs 2019/03/03(日) 20:25:56.556 No.14032334
附圖
去查document不就清楚了
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.subplots.html
subplots這個方法return兩個物件(fig,ax)
所以用兩個local variable去接收,沒記錯的話,這個動作術語叫unpacking

新手直接碰pandas和matplotlib太硬了,光矩陣就能把你搞到頭昏腦脹
建議買Bill Lubanovic的精通Python
從第一頁開始讀,觀念會好很多
無題 無名 ID:Oo5vB0mo 2019/03/03(日) 20:32:24.929 No.14032392
>>14032253
已哭

>>14032256
要吧
感覺我很多觀念都不懂
網上爬文 每個字都懂
湊成一段話就不知道她在說甚麼了
總之先找本C的書來啃一下

>>14032293
恩 我以為能在console輸出的就是有return
我錯惹

>>14032334
感謝解說 太清楚惹
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 20:32:58.830 No.14032400
附圖
>>14029773
最直覺的建議是,去找實際能跑的程式碼下去改。

有些時候書上給的範例不一定完整,甚至是虛擬碼。
用來解釋"觀念"用的,至於與實作上可能會落差。

而在這個年頭,有時甚至你的編譯器版本與書上的不同還會發生無法建置的問題。
那又是題外話了。

然後回到你的範例,我的直覺是有東西你沒有寫出來。
看不太出來你網路上面的"s, (fig,ax)"之間的關係。
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 20:35:46.256 No.14032424
附圖
>>14032392
不用先去學C,真的不必。很多自稱大師會跟你說不學C就會BLABLABLA,
但他們不會跟你說的是"你看不懂C語言他們也不會負責教你"

與其浪費學一個你之後還要轉換觀念的過度東西,
不如直接想辦法在你想學的東西上找學習資源。
無題 無名 ID:RqlhZG8w 2019/03/03(日) 20:37:58.477 No.14032437
教你一個超有用的python內置function
help()
有什麼不懂的物件就用這個來查
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 20:39:05.656 No.14032455
附圖
>>14032334
一次接收兩(多)個回傳值我認識的關鍵字"tuple"
無題 無名 ID:anaNSIwo 2019/03/03(日) 20:39:12.187 No.14032457
回覆: >>14032538
附圖
我遇到不懂的都去請教賣雞排的老闆
無題 無名 ID:DtjcU79s 2019/03/03(日) 20:39:33.036 No.14032464
回覆: >>14033230
>>14032392
看了一下文件
我猜如果你在 plot_linear_regression_wave() 的最後加上 return plt.gcf() 應該就行了
無題 無名 ID:.LrFG7Pc 2019/03/03(日) 20:42:01.876 No.14032494
回覆: >>14032590
C語言的問題我有看到應該都會回答
綜合我沒看到你就去程設板,遲早會有答案
但你用python或那些我也沒用過的library,我看到了也幫不了你

我很確定智障丸不會幫你
他只會嘴砲
無題 無名 ID:ipcZtTiY 2019/03/03(日) 20:42:32.863 No.14032497
>>14032229
對新手來說,建議至少先學hello word
不是因為這個比較簡單,而是在出問題的時候可以叫它吐些東西出來讓你除錯,例如無窮迴圈裡就會一直重複吐同樣的東西

至於更前面你說要回去hello word,這我沒意見,每個人學的順序不同,不是每個教學都適合你,也沒有人說你邊學邊查就會學不好
不過邊學邊查的學習曲線應該比較陡峭

先學哪一個的問題,我認為都行,反正你並沒有一定要用哪個語言才能做好你想做的事
無題 無名 ID:2c/fcs9Q 2019/03/03(日) 20:48:34.984 No.14032538
回覆: >>14032601
>>14032457
之前我學校附近賣大腸包小腸的就是資工的學長
無題 無名 ID:e8w37qr6 2019/03/03(日) 20:52:50.452 No.14032579
最近也在開始學python
python是不是和matlab很像啊…
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 20:54:03.281 No.14032590
回覆: >>14033101
附圖
>>14032494
挖幹,匿名版做這種宣言,我第一次看到有人可以下限低到這種程度。你不是PTT來的外來種吧?

>>14032392
重新想了一下你的問題,你的問題應該是不知道為何以下的差異
【"畫面有東西/有產出"與"回傳接收值"】這點上面(我想像的)。
如果是這樣,那就很簡單,因為一個函式在寫的時候,你可以做很多事情,
最後才丟回傳值。

舉例來說(這只是範例,編譯器不會過的)

object 粗乃丸(){
print("丸");
return (object) new丸();
}

如果呼叫【object 新丸 = 粗乃丸();】
指派一個新的粗乃丸,那它其實也會順便印出丸。
無題 無名 ID:.jZgUc6U 2019/03/03(日) 20:55:12.352 No.14032601
>>14032538
那他有請生科的來算錢ㄇ
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 20:58:21.721 No.14032635
附圖
>>14032392
另外最好的話,把你看到的完整程式碼丟上,或者是把頁面放上。

畢竟不一定每個人都看過知道你說的那段文章,程式功能。
無題 無名 ID:VUszAcDM 2019/03/03(日) 21:04:20.681 No.14032702
回覆: >>14032713
附圖
本科系的人不要騙外系的人去學C啦!

100個人去學C/C++,
99.9個爆死!

非本科系的人,
直接學習高階語言就行了,
python是個不錯的選擇。

學的時候,
盡量專注在如何解決你想要解決的問題,
不要在語言的規格上鑽牛角尖,
也不要一種語言還沒摸熟,
就急著想要學另外一種語言。
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 21:05:24.869 No.14032713
附圖
>>14032702
還是粗乃丸有智慧!
無題 無名 ID:DtjcU79s 2019/03/03(日) 21:37:02.071 No.14033101
回覆: >>14033128
>>14032590
又沒有那麼複雜
就是輸出到畫面上的方法通常都是呼叫某個function
而return是function結束時要回傳東西
呼叫某個function跟return一點關係都沒有
無題 無名 ID:dwVBaLEQ 2019/03/03(日) 21:39:28.416 No.14033128
附圖
>>14033101
你要問原PO阿
>恩 我以為能在console輸出的就是有return
我是根據這段話猜測他的癥結點的
無題 無名 ID:DtjcU79s 2019/03/03(日) 21:48:08.653 No.14033230
>>14032464
對了
怕你誤會我的意思
我猜測的方法是
你要改mglearn這個library的內容
或是複製一份(對你來說可能有點難)
在plot_linear_regression.py裡
plot_linear_regression_wave() 這個function的最後加上 return plt.gcf()
應該就行了