效率已成為及時完成工作的關鍵因素。乙個人不應該花超過合理的時間去完成事情。尤其是當任務涉及基本編碼時。使用pandas庫能節省你的時間。pandas是乙個開源包。它有助於用python語言執行資料分析和資料操作。此外,它還為我們提供了靈活的資料結構。
目錄
pandas技巧1–行的條件選擇
首先,資料探索是必要步驟。pandas為進行各種分析提供了一種快速簡便的方法。其中乙個非常重要的技巧是根據條件選擇行或過濾資料。
行的條件選擇可以基於由邏輯運算子分隔的單個語句中的單個條件或多個條件。
例如,我使用乙個關於貸款**的資料集。
我們將挑選一排還沒有畢業、收入低於5400英鎊的客戶。讓我們看看我們該怎麼做。
import pandas as pd
data = pd.read_csv('../data/loan_train.csv')
data.head()
data2
注意:記住把每個條件放在括號內。
pandas技巧2–資料的儲存
資料可以有兩種型別-連續的和離散的,這取決於我們的分析要求。有時我們不需要連續變數中的精確值,但需要它所屬的群體。
例如,你的資料中有乙個連續變數,年齡。但你需要乙個年齡組來進行分析,比如兒童、青少年、**、老年人。實際上,binning非常適合解決我們這裡的問題。
為了執行binning,我們使用cut()函式。這對於從連續變數到離散變數非常有用。
import pandas as pd
df = pd.read_csv('titanic.csv')
from sklearn.utils import shuffle
# 隨機化
df = shuffle(df, random_state = 42)
df.head()
bins = [0,4,17,65,99]
labels =['toddler','child','adult','elderly']
category = pd.cut(df['age'], bins = bins, labels = labels)
df.insert(2, 'age group', category)
df.head()
df['age group'].value_counts()
df.isnull().sum()
**:
pandas技巧3–分組資料
這種操作在資料科學家和分析師的日常生活中經常執行。pandas提供了乙個基本的函式來執行資料分組,即groupby。
groupby操作包括根據特定條件拆分物件,應用函式,然後組合結果。
讓我們再看一次貸款**資料集,假設我想看看給來自不同財產領域的人的平均貸款額,比如農村、半城市和城市。花點時間來理解這個問題陳述並思考如何解決它。
嗯,pandas的groupby可以非常有效地解決這個問題。首先根據屬性區域劃分資料。其次,我們將mean()函式應用於每個類別。最後,我們將它們組合在一起,並將其列印為新的資料幀。
#匯入資料集
import pandas as pd
df = pd.read_csv('../data/loan_train.csv')
df.head()
# 男女平均收入
# 平均貸款金額不同的財產地區,如城市,農村
df.groupby(['property_area'])[['loanamount']].mean()
# 比較不同教育背景的貸款狀況
df.groupby(['education'])[['loan_status']].count()
**:
pandas技巧4–pandas map
map是另乙個提供高度靈活性和實際應用的重要操作。
pandas map()用於根據輸入對應關係將序列中的每個值對映到其他值。實際上,這個輸入可以是乙個序列、字典,甚至是乙個函式。
讓我們舉乙個有趣的例子。我們有乙個虛擬的雇員資料集。此資料集由以下列組成–姓名、年齡、職業、城市。
現在需要新增另一列,說明相應的狀態。你會怎麼做?如果資料集的範圍是10行,你可以手動執行,但是如果有數千行呢?使用pandas map會更有利。
#樣本資料
data =
df = pd.dataframe(data)
df
# 城市與州
map_city_to_states =
# 將城市列對映為州
df['state'] = df['city'].map(map_city_to_states)
df
**:
pandas技巧5–pandas dataframe的條件格式化
這是我最喜歡的pandas技巧之一。這個技巧讓我有能力直觀地定位特定條件下的資料。
可以使用pandas的style屬性將條件格式應用於資料框。事實上,條件格式是根據某種條件對資料幀應用視覺樣式的操作。
雖然pandas提供了大量的操作,但我將在這裡向你展示乙個簡單的操作。例如,我們有對應於每個銷售人員的銷售資料。我想檢視的是銷售價值高於80的。
import pandas as pd
data = pd.read_excel("../data/salesman_performance.xlsx")
data
data.style
def highlight_green(sales):
color = 'green' if sales > 80 else 'black'
return 'color: %s' % color
formatting
**:
結尾
在這篇文章中,我們總結了pandas的5個技巧。我希望這些技巧能幫助你完成日常的任務,並為你節省很多時間。linux就該這麼學
python 5個實用的技巧
下面我挑選出的這幾個技巧常常會被人們忽略,但它們在日常程式設計中能真正的給我們帶來不少幫助。1.字典推導 dictionary comprehensions 和集合推導 set comprehensions 大多數的python程式設計師都知道且使用過列表推導 list comprehensions...
5個Word實用小技巧
word 換行 首先選中行,按shift alt 向上 向下箭頭,可以讓行在 內移動 移到表尾時可以脫離 同理,選中多行按shift alt 向下箭頭時,可以把 拆分成兩個表,如果按ctrl shift 向上箭頭,可以合併兩個表。word 兩列互換 想要將word 中兩列互換,只需要選中一列,用游標...
Pandas使用實用技巧
常見的需求是將某一列根據指定的分隔符拆分成多列。現有需求,根據指定的分隔符將其拆分為多行。例 df a b 0 a f 1b c h g 2d k 3 e l 現需要將其拆分為 df a b 0 a f 1b h 1c g 2d k 3 e l 實現過程如下 df pd.dataframe dfa ...