天天看点

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中的处理方法