跳至主要內容

【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。

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 請求。

PHP 伺服器基礎

PHP 下載完後把所有資料抓出來即可使用,甚至直接用 php 指令就可以建立伺服器。 舉例來說可以用php -S localhost:8000來建立,這邊的 S 必須要是大寫。 也可以用 php -S 127.0.0.1:8000。