天天看點

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

村長今天跟大家簡單分享一下如何在Excel、SQL和Python中用不同的方法提取不重複值(資料去重)。

一、Excel

1.1、函數法(數組公式)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

函數公式:=IFERROR(INDEX(A:A,SMALL(IF(MATCH($A$2:$A$16,$A$2:$A$16,0)=ROW($1:$15),ROW($2:$16),9^9),ROW(A1))),"")

1.2、技巧法(删除重複值)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

操作步驟:

選中資料列,然後點選【資料】頁籤,選擇“删除重複值”

1.3、技巧法(進階篩選)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

操作步驟:

選中資料區域,然後點選【資料】頁籤,選擇“進階篩選”,勾選“選擇不重複的記錄”,選擇将篩選的資料複制到指定位置。

1.4、技巧法(資料透視)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

操作步驟:

選中資料區域任意一個單元格或整個資料區域,然後點選【插入】頁籤,選擇“資料透視表”,勾選“現有工作表”并選擇将透視的資料存放到指定位置,勾選“姓名”字段值。

二、資料庫(SQL)

2.1、去重複法(DISTINCT去重複)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

SQL語句:

SELECT DISTINCT NAME FROM TEST

語句結構:

SELECT DISTINCT 字段名稱 FROM 表名稱

2.2、取最新資料(rowid屬性)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

SQL語句:

SELECT NAME,MAX(ROWID) FROM TEST GROUP BY NAME

語句結構:

SELECT 字段名稱,MAX(ROWID) FROM 表名稱 GROUP BY 字段名稱

2.3、分類彙總法(COUNT函數)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

SQL語句:

SELECT NAME,COUNT(NAME) FROM TEST GROUP BY NAME

語句結構:

SELECT 字段名稱,COUNT(字段名稱) FROM 表名稱 GROUP BY 字段名稱

三、Python

3.1、集合的特性(SET方法)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

Python代碼:

import pandas as pd
df=pd.DataFrame(pd.read_excel('F:\\test.xlsx'))
df2=list(set(df['NAME']))
           

print(df2)

3.2、字典(keys方法)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

Python代碼:

import pandas as pd
df=pd.DataFrame(pd.read_excel('F:\\test.xlsx'))
df2=list({}.fromkeys(df['NAME']).keys())
           

print(df2)

3.3、循環查找的方式(for循環)

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法

Python代碼:

import pandas as pd
df=pd.DataFrame(pd.read_excel('F:\\test.xlsx'))
df2 = []for i in df['NAME']:if i not in df2:
       df2.append(i)
           

print(df2)

好了,今天的分享就先到這裡吧,學習有點累了,下面插播一則廣告提提神,感興趣的朋友可以了解一下!

sql for循環_提取不重複資料在Excel、SQL與Python中的處理方法