天天看點

資料分析面試題集錦(四)

資料分析面試題集錦(四)

大家好,今天整理資料分析面試題集錦(四),經常會被問到,“資料分析需要學習什麼技能?”,“針對實際的業務場景,如何使用資料分析工具去分析?”基于此作者總結資料分析面試常用的問題,面試内容包括技能應用篇:EXCEL、SQL、Python、BI工具等,業務思維篇:常用的資料分析方法與業務思維等。

其中大部分問題點,沒有絕對标準答案,所有問題點都是為了解決問題,大家如果有更好的問題答案,也可以提出,對于其中的問題也可以提出,共同解答,歡迎點贊、轉發、評論,下面一起來學習。

本文講解内容:Excel、SQL、Python面試必備

适用範圍:多種資料分析實用技巧

資料分析面試題集錦(四)

Excel篇

1、自定義資料格式代碼

如何自定義資料格式,比如這裡8月銷售大于7月銷售,将其顯示為綠色并添加向上的箭頭,8月銷售小于7月銷售,将其顯示為紅色并添加向下的箭頭。

資料分析面試題集錦(四)

選擇需要設定資料格式的區域,右鍵點選設定單元格格式輸入如下的格式代碼,該代碼可分為兩部分,用分号隔開,第一部分是對大于0的值設定格式:[綠色][>0]▲0,表示字型顔色為綠色,顯示▲,0表示原數,第二部分是對小于0的值設定格式:[紅色][<0]▼0,表示字型顔色為紅色,顯示▼,0表示原數。

[綠色][>0]▲0;[紅色][<0]▼0      
資料分析面試題集錦(四)

另外在PowerBI中,可以使用如下的DAX函數設定如上的自定義資料格式,感興趣可以嘗試一下。

環比_顔色 = SWITCH(TRUE(),
                  [環比]>0,UNICHAR(9650)&FORMAT([環比],"0.0%"),
                  [環比]<0,UNICHAR(9660)&FORMAT([環比],"0.0%"),"")      

除此之外,還有自定義資料格式用來設定機關,如下也可設定單元格式,自定義設定。

0!.0,"萬"
0!.00,,"億"      

比如這裡使用0!.0,"萬"表示萬,先使用千分位符,将資料縮小1000倍,然後設定資料格式為0!.0将資料縮小10倍,小數點前的 ! 是用于強制顯示小數點,将資料縮小10倍,最後再加一個萬字即可,需要加雙引号。

2、批量生成銷售個人明細

要批量生成銷售個人明細,比如生成每一個銷售每一天的銷量和銷售額情況,可以先資料透視,注意要将銷售員拖入到篩選器中。

資料分析面試題集錦(四)

然後在資料透視表工具中選擇分析,點選選項下面的顯示報表篩選頁。

資料分析面試題集錦(四)

在顯示報表篩選頁下選擇銷售員,點選确定即可。

資料分析面試題集錦(四)

如下将我們所有的銷售員每一天的銷量和銷售額進行了拆分,拆分為每一個銷售個人的具體情況。

資料分析面試題集錦(四)

SQL篇

表之間的關聯

如下考察表格之間的關聯關系,比如表與表之間的合并,表與表之間的相交等等,考查表格關聯的邏輯。

資料分析面試題集錦(四)

第一問、表A和表B的交集:

SELECT a.cus_id from `表a` as a
INNER JOIN `表b` as b
on a.cus_id=b.cus_id;      

第二問、表A和表B的并集:

SELECT * from `表a`
UNION
SELECT * from `表b`;      

第三問、表A和表B的對稱差:

SELECT * from `表a` 
where cus_id not in (SELECT * from `表b`)
UNION
SELECT * from `表b` 
where cus_id not in (SELECT * from `表a`);      

第四問、表A中存在但表B中不存在:

SELECT * from `表a`
WHERE cus_id not in (SELECT cus_id from `表b`);      

Python篇

1、np.where分組用法

首先建立案例資料,建立一個DataFrame。

import pandas as pd
df=pd.DataFrame(data={'國文': [50,90,70,78,60],
                      '數學': [59,80,60,75,69],
                      '英語': [61,95,65,80,59]},
                index=['小明','小紅','小麗','小剛','小東'])
df['總分']=df['國文']+df['數學']+df['英語']
df      
資料分析面試題集錦(四)

導入numpy庫,調用np.where的用法。

#np.where的用法
import numpy as np
df['總分評級']=np.where(df['總分']>200,'A等','B等')
df      
資料分析面試題集錦(四)

np.where也用于兩個字段之間的比較,比如這裡的國文成績與數學成績之間的比較。

df['國文評級']=np.where(df['國文']>df['數學'],'✔','✘')
df      
資料分析面試題集錦(四)

2、多條件指派用法

使用loc函數,選擇确定條件區域的資料,直接使用“=”号進行指派,進而達到多條件指派的用處。

#多條件指派用法
df['數學評級']=''
df.loc[df['數學']<60,'數學評級']='不及格'
df.loc[df['數學']>=60,'數學評級']='及格'
df      
資料分析面試題集錦(四)

3、apply用法

首先定義一個GetScore函數,該函數中用來寫入不同的條件,然後使用apply函數應用到該行即可。

def GetScore(df):
    if df['英語']<60:
        return '不及格'
    elif df['英語']<70:
        return '及格'
    elif df['英語']<80:
        return '中等'
    elif df['英語']<90:
        return '良好'
    elif df['英語']<100:
        return '優秀'


df.loc[:,'英語評級']=df.apply(GetScore,axis=1)
df      
資料分析面試題集錦(四)

4、np.select用法

有多個條件可以使用np.select函數,這種适用于多個字段之間設定比較條件,比如這裡國文、數學、英語同時大于60分就設定為及格,其他用法類似。

#多條件判斷,有多個條件可以使用np.select
conditions=[(df['國文']>=60)&(df['數學']>=60)&(df['英語']>=60),
            (df['國文']<60)&(df['數學']>60)&(df['英語']>60),
            (df['國文']>60)&(df['數學']<60)&(df['英語']>60),
            (df['國文']>60)&(df['數學']>60)&(df['英語']<60)]
results=['合格','不合格','不合格','不合格']


df['多重評級']=np.select(conditions,results,default='不合格')
df      
資料分析面試題集錦(四)

多列合并為一列可以使用map函數轉為字元型,用加号進行連接配接。

#将多列合并為一列
df['評級合并']=df['國文評級'].map(str)+df['數學評級'].map(str)+df['英語評級'].map(str)
df      
資料分析面試題集錦(四)

背景回複資料分析入門,擷取資料分析入門資料

加入資料分析資料群,一起交流資料分析知識

關注和星标『大話資料分析』

和作者一起學習資料分析!

繼續閱讀