跳至主要內容

【Python】 panda DataFrame 可以選擇欄位創造新的 DataFrame

大部分程式語言的原生資料架構不出 array 或 object 這些,但是為了要資料處理更容易,通常都有一些開放的程式庫 (library),今天要聊的是如何使用 Python panda 選擇欄位,並創造出新的 DataFrame。

問題在哪? 

首先我們先定義遇到的問題,就是,如何選擇欄位。今天如果沒有 DataFrame,而只是一個 list,我們要怎麼選擇欄位?

或許是先找出要選擇的欄位,如果資料是以 list 的方式呈現,那 index 為 0 就會代表所有欄位的名稱, 像是下面的 name'、age 跟 height 就是欄位名稱。
array = [["name","age","height"],["A",20,30],["B",20,30],["C",20,30]]
接下來找出相對應欄位名稱的 index,然後用幾個迴圈選出新的代表選擇後欄位的 array。

用 panda 的 DataFrame

panda 的 DataFrame 有支援直接填入要選擇的欄位名稱進入一個 list,然後丟進去原來的 DataFrame 即可。

這個 kaggle 的例子可以看出端倪。

注意事項

使用 sklearn 的 DataFrame 選擇欄位要注意的事項為語法,語法是用方括弧 [],而不是圓形括弧 (),這點非常奇怪,因為 DataFrame 的原理應該是用某種 method 將輸入的 list 轉化成一個新的 DataFrame,怎麼是用方括弧呢?

留言

此網誌的熱門文章

What這個字怎麼念?

我在美國念大學的時候,有一次我說了這個字what,結果大家都笑了,並且之後有人為了揶揄我,還學我說what的方式。 我在台灣英文學到高中,大學學測英文滿級分,托福也考過了,卻連what一個字都念不好。 經過研究,多數美國人what是念whut,也就是嘴巴不用張大,輕輕的帶過搭u這個音。 這邊的u音是想說的but或是up裡面的u,輕輕短短的。 What不要念成whaaat,這邊的a不是"阿",嘴巴張大大的哦。是u像是but。

英文逐步口譯筆記經驗談

這篇文章是我自己在擔任口譯時做筆記的經驗。 逐步口譯筆記重要性 很重要,長逐步口譯,當講者語畢,實際上只能看著筆記要點翻譯,根本不可能回想,講者剛剛說了甚麼,如果筆記沒記到,很有可能會漏翻。 大量符號 長逐步口譯筆記主要使用自己習慣的符號,或是上場前準備時,就先預設一些符號。 轉折語氣別忘記 有時候講者在表述一個論點時,會先以反向論點開始說,然後才轉折語氣,進入重點。我自己是用 but 代表「但是」、「可是」、「然而」。 並列詞 美國人常常用並列詞,也就是列出許多例子來印證一件事。我筆記方式是用一個直線。 像是這個例子,我很喜歡動物,像是貓、狗、鳥類都喜歡。 數字筆記訣竅 聽到當下要用要翻成的語言做筆記,例如 130 thousand,直接記13W。 常用記號

Cors 基礎設定

建立一個 API 伺服器要設定 Access-Control-Allow-Origin,這樣別的網站才能呼叫, Koa  如果適用 Koa,只要做一個 mideleware 設定即可。 app.use(async (ctx, next) => { ctx.set('Access-Control-Allow-Origin', '*'); await next(); }); Express app.use(async (ctx, next) => { res.set('Access-Control-Allow-Origin', '*') }); 如果只允許一個網域呼叫 將 * 換成該網域即可。 如果允許多個網域呼叫 使用 Swich 的方式,先讀取前端傳來得 headers.origin 來決定設定的 access 即可。3 其他設定 另外,還有 Access-Control-Allow-Methods 跟  Access-Control-Allow-Headers 可以設定,舉例來說,最近我做了一個 Koa.js 應用程式,就要設定 Access-Control-Allow-Headers 包括 content-type 才能傳送 post 請求。