2024-08-26|閱讀時間 ‧ 約 4 分鐘

跨平台解鎖 - Filter + Sort

下表中包含了20筆訂單的營業額數據。現在需要篩選出營業額大於 $1,000,000 的訂單,並根據金額從高到低進行排序。請使用下列軟體工具分別找出答案:
raw-image


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,持續都會有這類商業分析問題討論和生產力提升的點子喔!




分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.