下表中包含了20筆訂單的營業額數據。現在需要篩選出營業額大於 $1,000,000 的訂單,並根據金額從高到低進行排序。請使用下列軟體工具分別找出答案:
Excel
SORT(FILTER(A2:B21, B2:B21 > 1000000), 2, -1)
FILTER(array,include,[if_empty])
=> array: 要篩選的陣列或範圍 (20筆訂單本身)
=> include: 邏輯準則,營業額>1000000
=> 傳回多個準則 A AND B: A * B
=> 傳回多個準則 A OR B: A + B
SORT(array,[sort_index],[sort_order],[by_col])
=> array: 要排序的陣列或範圍 (大於1百萬訂單)
=> sort_index: 指出要據以排序之欄或列的數字,我們要排營業額,所以選2。
=> sort_order: 1 表示遞增排序 (預設),-1 表示遞減排序
SQL
SELECT * FROM orders WHERE Sales > 1000000 ORDER BY Sales DESC;
WHERE 子句具有下列基本語法:
=> WHERE 欄位 VS 準則 (e.g. = , > , < , like, Is Nullm etc)
[ORDER BY field1 [ASC | DESC ][, field2 [ASC | DESC ]][, ...]]]
=> 要排序記錄的欄位名稱
=> ASC (預設) 遞增
=> DESC 遞減
Python Pandas
df[df['Sales'] > 1000000].sort_values(by='Sales', ascending=False)
最快速的篩選方式就是將邏輯算式放在[]
內,
list of values => df[df[欄位].isin(values)]
AND => df[A & B]
OR => df[A | B]
或是搭配loc[ ]
df.loc[df['Sales'] > 1000000]
.sort_values(by, axis, ascending, inplace, kind, na_position, ignore_index, key)
=> by / axis: 欄位(axis = 1) 或index(axis = 0)
=> ascending: False (遞減)
=> na_position: first (空值放表頭), last(空值放表尾)
謝謝您花時間將此篇文章讀完,若覺得對您有幫助可以幫忙按個讚、分享來或是珍藏喔!
我們會持續推出更多以實用情境為主的教學,讓你知道為什麼要學這些技巧,這些技巧能在職場和工作幫上您什麼忙。也歡迎Follow我的Threads,持續都會有這類商業分析問題討論和生產力提升的點子喔!