Python 板


LINE

想問一些關於parameter數量錯誤的問題 如果這樣子打 x_train = x_train.apply(np.reshape, args=(60,60,1) ) 則會出現 TypeError:reshape() takes from 2 to 3 positional arguments but 4 were given 但是若改成 x_train = x_train.apply(np.reshape, args=((60,60,1),) ) 之後就可以了,有大大能幫我解惑嗎 上網找一些資訊在後面加逗號似乎會把她變成一個tuple,想請問這個錯誤跟那個又關係嗎 ,另外錯誤顯示的那4個arguments是哪四個呢 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.118.207.2
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1536837246.A.B4D.html
1F:→ gmccntzx1: 你的第一個寫法,給 np.reshape 的參數就是 3 個 09/13 23:55
2F:→ gmccntzx1: int: 60, 60, 1 09/13 23:55
3F:→ gmccntzx1: 修正,正確來說是 4 個,第一個參數由 df.apply 提供 09/13 23:57
4F:→ gmccntzx1: 即 np.reshape(x_train, 60, 60, 1) # <- 錯誤 09/13 23:58
5F:→ gmccntzx1: 請看 numpy.reshape 的文件: https://goo.gl/wRffJQ 09/13 23:59
6F:→ gmccntzx1: 然後 df.apply 的文件:https://goo.gl/BCkX83 09/14 00:03
7F:→ gmccntzx1: args要吃的參數型態就是 tuple 09/14 00:03
8F:→ gmccntzx1: 所以給參數的方式就像這樣: args=(x, y, z, ...) 09/14 00:04
9F:→ gmccntzx1: 其中 x, y, z 可以是任何型態 (視對象 func 而給) 09/14 00:05
我前面第一行的程式若改成x_train = x_train.apply(np.reshape, args =((60,60,1)) )的話也會出現同樣的錯誤耶 我也有上網先去看apply的文件我知道要傳入tuple,但是若將(60,60,1)括號起來他不就也變成tuple了嗎,為什麼還要一個逗號呢 ※ 編輯: worthy0429 (219.70.213.17), 09/14/2018 00:25:52
10F:→ gmccntzx1: 不,你看一下我上面的例子 args=(x, y, z...) 09/14 00:36
11F:→ gmccntzx1: 如果僅僅將 60, 60, 1 這三個數包起來,就代表你只給了 09/14 00:36
12F:→ gmccntzx1: 修正:就代表 args 拿到 3 個參數,分別為 60, 60, 1 09/14 00:38
13F:→ gmccntzx1: 寫成 args=((60, 60, 1), ) 才表示 args 拿到一個參數 09/14 00:38
14F:→ gmccntzx1: 叫做 (60, 60, 1) 的 tuple 09/14 00:39
15F:→ gmccntzx1: 然後 trailing comma 可以看這篇解釋 09/14 00:40
16F:→ gmccntzx1: https://stackoverflow.com/a/7992642 09/14 00:41
17F:→ gmccntzx1: 簡單來說,如果你沒有給 trailing comma, 僅有單一元素 09/14 00:42
18F:→ gmccntzx1: 的 tuple 會和 expression 混淆 09/14 00:43
19F:→ gmccntzx1: * generator expression 09/14 00:44
20F:→ gmccntzx1: 或是其他因為內容很長需要多行分段的 code 09/14 00:45
我有看到,就是a=(1)這樣是int,a=(1),這樣會是tuple,如果單一元素後面家要加逗號才會變tuple ,但是我在想args=(x,y,z),像我這樣子(60,60,1)括號刮起來,不就等於x=(60,60,1)所以已經是tuple了不用再逗號了吧? 我就是一直卡在這邊不好意思,我有聽懂你那個3個int的說法,只是不太清楚為什麼有括號了還是3個int..,你剛傳的那幾個網址 我都有先看過了可是還是覺得卡卡的怪怪的想釐清一下自己的想法 ※ 編輯: worthy0429 (219.70.213.17), 09/14/2018 00:51:28
21F:→ gmccntzx1: 然後這個行為在 list, dict 上也可以用,但不加上也不 09/14 00:47
22F:→ gmccntzx1: 會影響 09/14 00:47
23F:→ gmccntzx1: 照你的例子來講,`a=(1),` 和 `a=(1,)` 的 a 都是 09/14 01:05
24F:→ gmccntzx1: tuple 09/14 01:05
25F:→ gmccntzx1: 今天如果 args 只拿到 1 個參數,但你仍要確保 args 是 09/14 01:06
26F:→ gmccntzx1: tuple ,你要怎麼做? 09/14 01:07
27F:→ gmccntzx1: 情況就是 args=(x),x 可以是任何型別。 09/14 01:08
28F:→ gmccntzx1: https://repl.it/@naleraphael/GiveMeATuple 09/14 01:26
這個例子我有看懂,但是若是將裡面的1全部改成'1,2',這樣就會全部都是tuple呀,這跟我60,60,1是一樣的吧.. ※ 編輯: worthy0429 (140.118.207.2), 09/14/2018 17:17:09 抱歉,真的很感謝你但是我是不是鬼打牆了QAQ ※ 編輯: worthy0429 (140.118.207.2), 09/14/2018 17:19:17 就是單一元素需要trail comma,但是60,60,1有三個元素哩 ※ 編輯: worthy0429 (140.118.207.2), 09/14/2018 17:20:39







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP