最近有朋友跟我說我前陣子寫的關於 Pandas 中常見的 Excel 文章,對於幫助新的 Pandas 用戶將 Excel 過程轉化為代碼很有幫助。這件事情讓我感到開心,我將延續這一傳統以 Excel 中的 Filter 函數為模型,說明各種pandas索引的過程。
現在我想通過一些細節來了解 Pandas 中的布林索引。如果你想理解 Pandas 的數據索引和選擇,這是一個重要的概念。這個概念對於新的 Python 用戶來說可能有點複雜,但我認為花點時間理解它是很重要的。如果你掌握了這個概念,在pandas中處理數據的基本過程就會更加簡單明瞭。Pandas 支持通過使用標籤、基於位置的整數或布林值(真/假)的列表來選擇數據,使用布林值列表來選擇一行被稱為布林索引,我們手動製造一個資料集。
import pandas as pd
sales = [('account', ['Jones LLC', 'Alpha Co', 'Blue Inc', 'Mega Corp']),
('Total Sales', [150, 200, 75, 300]),
('Country', ['US', 'UK', 'US', 'US'])]
df = pd.DataFrame.from_dict(dict(sales))
df
注意到 0-3 的值是如何被自動分配到行中的嗎?這些就是索引(Index),它們在這個數據集中並沒有什麼特別的意義,但是對於 Pandas 來說就像是住址一樣重要。如果我們想查看下方數據,我們可以看到 True/False 列表會是這樣被使用的。
indices = [True, False, True, True]
df[indices]
pandas使得使用簡單的查詢語言來創建這些布爾索引變得非常容易,使用過 Python 的人應該對這些語言很熟悉。舉個例子,讓我們看一下美國銷售線,我們可以利用一種表達式來查詢。
df.Country == 'US'
布林索引是在 Pandas 中選擇數據行的強大而有用的方法之一。 讓我們看看一些例子的DataFrames來幫助澄清pandas中的布林索引的作用。雖然這個概念很簡單,但你可以利用 Python 來編寫複雜邏輯過濾你的數據,參考以下數據可以在 DataFrame 中應用。
df[df["Country"] == 'US']
今年沒組團,每一筆一字矢志不渝的獻身精神都是為歷史書寫下新頁,有空的話可以走走逛逛我們去年寫的文章。
Jerry 據說是個僅佔人口的 4% 人口的 INFP 理想主義者,總是從最壞的生活中尋找最好的一面,想方設法讓世界更好,內心的火焰和熱情可以光芒四射,畢業後把人生暫停了半年,緩下腳步的同時找了份跨領域工作。偶而散步、愛跟小動物玩耍。曾立過很多志,最近是希望當一個有夢想的人。
謝謝你的時間「訂閱,追蹤和留言」都是陪伴我走過 30 天鐵人賽的精神糧食。