前言
Excel與都是數(shù)據(jù)分析中常用的工具,本文將使用動態(tài)圖(Excel)+代碼()的方式來演示這兩種工具是如何實現(xiàn)數(shù)據(jù)的讀取、生成、計算、修改、統(tǒng)計、抽樣、查找、可視化、存儲等數(shù)據(jù)處理中的常用操作!
數(shù)據(jù)讀取
說明:讀取本地Excel數(shù)據(jù)
Excel
Excel讀取本地數(shù)據(jù)需要打開目標(biāo)文件夾選中該文件并打開
支持讀取本地Excel、txt文件,也支持從網(wǎng)頁直接讀取表格數(shù)據(jù),只用一行代碼即可,例如讀取上述本地Excel數(shù)據(jù)可以使用pd.("示例數(shù)據(jù).xlsx")
數(shù)據(jù)生成
說明:生成指定格式/數(shù)量的數(shù)據(jù)
Excel
以生成10*2的0—1均勻分布隨機(jī)數(shù)矩陣為例,在Excel中需要使用rand()函數(shù)生成隨機(jī)數(shù),并手動拉取指定范圍
在中可以結(jié)合NumPy生成由指定隨機(jī)數(shù)(均勻分布、正態(tài)分布等)生成的矩陣,例如同樣生成10*2的0—1均勻分布隨機(jī)數(shù)矩陣為,使用一行代碼即可:pd.(np..rand(10,2))
數(shù)據(jù)存儲
說明:將表格中的數(shù)據(jù)存儲至本地
Excel
在Excel中需要點擊保存并設(shè)置格式/文件名
在中可以使用pd.(".xlsx")來將當(dāng)前工作表格保存至當(dāng)前目錄下,當(dāng)然也可以使用保存為csv等其他格式,也可以使用絕對路徑來指定保存位置
數(shù)據(jù)篩選
說明:按照指定要求篩選數(shù)據(jù)
Excel
使用我們之前的示例數(shù)據(jù),在Excel中篩選出薪資大于5000的數(shù)據(jù)步驟如下
在中,可直接對數(shù)據(jù)框進(jìn)行條件篩選,例如同樣進(jìn)行單個條件(薪資大于5000)的篩選可以使用df[df['薪資水平']>5000],如果使用多個條件的篩選只需要使用&(并)與|(或)操作符實現(xiàn)
數(shù)據(jù)插入
說明:在指定位置插入指定數(shù)據(jù)
Excel
在Excel中我們可以將光標(biāo)放在指定位置并右鍵增加一行/列,當(dāng)然也可以在添加時對數(shù)據(jù)進(jìn)行一些計算,比如我們就可以使用IF函數(shù)(=IF(G2>10000,"高","低")),將薪資大于10000的設(shè)為高,低于10000的設(shè)為低,添加一列在最后
在中,如果不借助自定義函數(shù)的話excel表格基本操作視頻,我們可以使用cut方法來實現(xiàn)同樣操作
bins = [0,10000,max(df['薪資水平'])]
group_names = ['低','高']
df['new_col'] = pd.cut(df['薪資水平'], bins, labels=group_names)
數(shù)據(jù)刪除
說明:刪除指定行/列/單元格
Excel
在Excel刪除數(shù)據(jù)十分簡單,找到需要刪除的數(shù)據(jù)右鍵刪除即可,比如刪除剛剛生成的最后一列
在中刪除數(shù)據(jù)也很簡單,比如刪除最后一列使用del df['']即可
數(shù)據(jù)排序
說明:按照指定要求對數(shù)據(jù)排序
Excel
在Excel中可以點擊排序按鈕進(jìn)行排序,例如將示例數(shù)據(jù)按照薪資從高到低進(jìn)行排序可以按照下面的步驟進(jìn)行
在中可以使用進(jìn)行排序,使用來控制升降序,例如將示例數(shù)據(jù)按照薪資從高到低進(jìn)行排序可以使用df.("薪資水平",=False,=True)
缺失值處理
說明:對缺失值(空值)按照指定要求處理
Excel
在Excel中可以按照查找—>定位條件—>空值來快速定位數(shù)據(jù)中的空值,接著可以自己定義缺失值的填充方式,比如將缺失值用上一個數(shù)據(jù)進(jìn)行填充
在中可以使用data.().sum()來檢查缺失值,之后可以使用多種方法來填充或者刪除缺失值,比如我們可以使用df = df.(axis=0,='ffill')來橫向/縱向用缺失值前面的值替換缺失值
數(shù)據(jù)去重
說明:對重復(fù)值按照指定要求處理
Excel
在Excel中可以通過點擊數(shù)據(jù)—>刪除重復(fù)值按鈕并選擇需要去重的列即可,例如對示例數(shù)據(jù)按照創(chuàng)建時間列進(jìn)行去重,可以發(fā)現(xiàn)去掉了196 個重復(fù)值,保留了 629 個唯一值。
在中可以使用來對數(shù)據(jù)進(jìn)行去重,并且可以指定列以及保留順序,例如對示例數(shù)據(jù)按照創(chuàng)建時間列進(jìn)行去重df.(['創(chuàng)建時間'],=True),可以發(fā)現(xiàn)和Excel處理的結(jié)果一致,保留了 629 個唯一值。
格式修改
說明:修改指定數(shù)據(jù)的格式
Excel
在Excel中可以選中需要轉(zhuǎn)換格式的數(shù)據(jù)之后右鍵—>修改單元格格式來選擇我們需要的格式
在中沒有一個固定修改格式的方法,不同的數(shù)據(jù)格式有著不同的修改方法,比如類似Excel中將創(chuàng)建時間修改為年-月-日可以使用df['創(chuàng)建時間'] = df['創(chuàng)建時間'].dt.('%Y-%m-%d')
數(shù)據(jù)交換
說明:交換指定數(shù)據(jù)
Excel
在Excel中交換數(shù)據(jù)是很常用的操作,以交換示例數(shù)據(jù)中地址與崗位兩列為例,可以選中地址列,按住shift鍵并拖動邊緣至下一列松開即可
在中交換兩列也有很多方法,以交換示例數(shù)據(jù)中地址與崗位兩列為例,可以通過修改列號來實現(xiàn)
數(shù)據(jù)合并
說明:將兩列或多列數(shù)據(jù)合并成一列
Excel
在Excel中可以使用公式也可以使用Ctrl+E快捷鍵完成多列合并,以公式為例,合并示例數(shù)據(jù)中的地址+崗位列步驟如下
在中合并多列比較簡單,類似于之前的數(shù)據(jù)插入操作,例如合并示例數(shù)據(jù)中的地址+崗位列使用df['合并列'] = df['地址'] + df['崗位']
數(shù)據(jù)拆分
說明:將一列按照規(guī)則拆分為多列
Excel
在Excel中可以通過點擊數(shù)據(jù)—>分列并按照提示的選項設(shè)置相關(guān)參數(shù)完成分列,但是由于該列含有[]等特殊字符,所以需要先使用查找替換去掉
在中可以使用.split來完成分列,但是在分列完畢后需要使用merge來將分列完的數(shù)據(jù)添加至原,對于分列完的數(shù)據(jù)含有[]字符,我們可以使用正則或者字符串方法進(jìn)行處理,但因不是特性,此處不再展開。
數(shù)據(jù)分組
說明:對數(shù)據(jù)進(jìn)行分組計算
Excel
在Excel中對數(shù)據(jù)進(jìn)行分組計算需要先對需要分組的字段進(jìn)行排序,之后可以通過點擊分類匯總并設(shè)置相關(guān)參數(shù)完成,比如對示例數(shù)據(jù)的學(xué)歷進(jìn)行分組并求不同學(xué)歷的平均薪資
在中對數(shù)據(jù)進(jìn)行分組計算可以使用輕松搞定,比如使用df.("學(xué)歷").mean()一行代碼即可對示例數(shù)據(jù)的學(xué)歷進(jìn)行分組并求不同學(xué)歷的平均薪資,結(jié)果與Excel一致
數(shù)據(jù)計算
說明:對數(shù)據(jù)進(jìn)行一些計算
Excel
在Excel中有很多計算相關(guān)的公式,比如可以使用來統(tǒng)計薪資大于10000的崗位數(shù)量有518個
在中可以直接使用類似數(shù)據(jù)篩選的方法來統(tǒng)計薪資大于10000的崗位數(shù)量len(df[df["薪資水平"]>10000])
數(shù)據(jù)統(tǒng)計
說明:對數(shù)據(jù)進(jìn)行一些統(tǒng)計計算
Excel
在Excel中有很多統(tǒng)計相關(guān)的公式,也有現(xiàn)成的分析工具,比如對薪資水平列進(jìn)行描述性統(tǒng)計分析,可以通過添加工具庫之后點擊數(shù)據(jù)分析按鈕并設(shè)置相關(guān)參數(shù)
在中也有現(xiàn)成的函數(shù)快速完成對數(shù)據(jù)的描述性統(tǒng)計,比如使用df["薪資水平"].()即可得到薪資列的描述性統(tǒng)計結(jié)果
數(shù)據(jù)可視化
說明:對數(shù)據(jù)進(jìn)行可視化
Excel
在Excel中可以通過點擊插入并選擇圖表來快速完成對數(shù)據(jù)的可視化,比如制作薪資的直方圖,并且有很多樣式可以直接使用
在中也支持直接對數(shù)據(jù)繪制不同可視化圖表,例如直方圖excel表格基本操作視頻,可以使用plot或者直接使用hist來制作df["薪資水平"].hist()
數(shù)據(jù)抽樣
說明:對數(shù)據(jù)按要求采樣
Excel
在Excel中抽樣可以使用公式也可以使用分析工具庫中的抽樣,但是僅支持對數(shù)值型的列抽樣,比如隨機(jī)抽20個示例數(shù)據(jù)中薪資的樣本
在中有抽樣函數(shù)可以直接抽樣,并且支持任意格式的數(shù)據(jù)抽樣,可以按照數(shù)量/比例抽樣,比如隨機(jī)抽20個示例數(shù)據(jù)中的樣本
數(shù)據(jù)透視表
說明:制作數(shù)據(jù)透視表
Excel
數(shù)據(jù)透視表是一個非常強(qiáng)大的工具,在Excel中有現(xiàn)成的工具,只需要選中數(shù)據(jù)—>點擊插入—>數(shù)據(jù)透視表即可生成,并且支持字段的拖取實現(xiàn)不同的透視表,非常方便,比如制作地址、學(xué)歷、薪資的透視表
在中制作數(shù)據(jù)透視表可以使用函數(shù),例如制作地址、學(xué)歷、薪資的透視表pd.(df,index=["地址","學(xué)歷"],=["薪資水平"]),雖然結(jié)果一樣,但是并沒有Excel一樣方便調(diào)整與多樣
說明:利用查找數(shù)據(jù)
Excel
算是EXCEL中最核心的功能之一了,我們用一個簡單的數(shù)據(jù)來進(jìn)行示例
在中沒有現(xiàn)成的函數(shù),所以實現(xiàn)匹配查找需要一些步驟,首先我們讀取該表格
接著將該切分為兩個
最后修改索引并使用進(jìn)行兩表的匹配
結(jié)束語
以上就是使用來演示如何實現(xiàn)Excel中的常用操作的全部過程,其實可以發(fā)現(xiàn)Excel的優(yōu)點就是大多由交互式的點擊完成數(shù)據(jù)處理,而則完全依賴于代碼,對于有些操作比如數(shù)據(jù)透視表,用Excel制作更加方便,而有些操作比如數(shù)據(jù)的分組、計算等,因可以與NumPy等其他優(yōu)秀的庫結(jié)合而顯得更加強(qiáng)大,所以我們在處理數(shù)據(jù)時也需要正確選擇使用的工具!