作者miniwood (mini)
看板Python
標題[問題] 使用upper()在Dataframe新增一欄資料
時間Tue Dec 26 12:29:34 2017
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://webptt.com/m.aspx?n=bbs/Python/M.1514262577.A.404.html
1F:推 HenryLiKing: 內建的喔~ 12/26 12:43
2F:→ miniwood: H大 是因為upper是String的method 所以apply裡的 12/26 13:19
3F:→ miniwood: str.upper就會直接指向cars["country"]這一欄的string囉 12/26 13:20
4F:→ miniwood: ? 12/26 13:20
6F:→ tedwu2001: apply的第一個參數是要被各個值叫用的函式 12/26 16:45
7F:→ tedwu2001: 怎麼知道是country是因為cars["country"]就已經先說了 12/26 16:47
8F:推 HenryLiKing: 我的想法是 apply 很像 map 會對每個值都放進某個fun 12/27 06:54
9F:→ HenryLiKing: ction處理吼傳回 12/27 06:54
10F:→ HenryLiKing: 後 12/27 06:55
11F:→ tedwu2001: 如果是MapReduce的map那的確行為是一樣 12/27 09:56
12F:→ tedwu2001: 不過Series有map方法不過是做資料結合轉換 12/27 09:59
13F:→ tedwu2001: 之前看R它們也是用apply做函式叫用,感覺是資料圈慣例? 12/27 10:00