看板 Python 關於我們 聯絡資訊
Hi 最近在做練習題 有一題是要在Pandas Dataframe新增一欄資料 COUNTRY 欄位country的大寫 程式碼如下: import pandas as pdcars = pd.read_csv('cars.csv', index_col = 0) # Use.apply(str.upper) cars["COUNTRY"] = cars["country"].apply(str.upper) print(cars) Output: https://imgur.com/h7j7QFz 請問一下為什麼apply()裡是放str.upper 整個程式碼又沒有str的宣告 怎麼知道str 就是指每一個country 感謝解答~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 207.181.219.248 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1514262577.A.404.html
HenryLiKing: 內建的喔~ 12/26 12:43
miniwood: H大 是因為upper是String的method 所以apply裡的 12/26 13:19
miniwood: str.upper就會直接指向cars["country"]這一欄的string囉 12/26 13:20
miniwood: ? 12/26 13:20
tedwu2001: 看一下apply的定義: ref: http://bit.ly/2DfumGV 12/26 16:42
tedwu2001: apply的第一個參數是要被各個值叫用的函式 12/26 16:45
tedwu2001: 怎麼知道是country是因為cars["country"]就已經先說了 12/26 16:47
HenryLiKing: 我的想法是 apply 很像 map 會對每個值都放進某個fun 12/27 06:54
HenryLiKing: ction處理吼傳回 12/27 06:54
HenryLiKing: 後 12/27 06:55
tedwu2001: 如果是MapReduce的map那的確行為是一樣 12/27 09:56
tedwu2001: 不過Series有map方法不過是做資料結合轉換 12/27 09:59
tedwu2001: 之前看R它們也是用apply做函式叫用,感覺是資料圈慣例? 12/27 10:00
tedwu2001: ref: http://bit.ly/2gs9S7C 12/27 10:01