版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
§1.1數(shù)據(jù)預(yù)處理的必要性及流程§1.2數(shù)據(jù)集成§1.3數(shù)據(jù)清洗§1.4數(shù)據(jù)變換數(shù)據(jù)預(yù)處理的必要性及流程一、必要性原始數(shù)據(jù)為什么要預(yù)處理后才能用于分析?數(shù)據(jù)來源廣泛致類型多樣,需預(yù)處理為同一類型數(shù)據(jù)不完整數(shù)據(jù)有缺失值原始數(shù)據(jù)含有臟信息需要清洗數(shù)據(jù)有重復(fù)值
量綱不一致必要性
數(shù)據(jù)有奇異值
尺度不一致數(shù)據(jù)不一致
時段不一致定性變量需數(shù)據(jù)變換后才能進行數(shù)學(xué)運算某些定量變量離散化為定性變量對于分析更有價值二、數(shù)據(jù)預(yù)處理流程數(shù)據(jù)預(yù)處理框
開始
架如圖所示:數(shù)據(jù)采集原始數(shù)據(jù)數(shù)據(jù)清洗數(shù)據(jù)集成數(shù)據(jù)變換數(shù)據(jù)規(guī)約數(shù)據(jù)倉庫備用數(shù)據(jù)預(yù)處理其中數(shù)據(jù)清洗、數(shù)
據(jù)集成、數(shù)據(jù)變換、
數(shù)據(jù)規(guī)約等含義后
續(xù)逐一介紹?!?.2
數(shù)據(jù)集成一、數(shù)據(jù)集成的定義簡單說來,數(shù)據(jù)集成就是將多個數(shù)據(jù)集整合為一個數(shù)據(jù)集。我們講最簡單的數(shù)據(jù)集成——數(shù)據(jù)合并,即將兩個或多個表的數(shù)據(jù)合并為一張表。二、數(shù)據(jù)合并的實現(xiàn)1.
基于python
的數(shù)據(jù)
合并的庫是pandas:pd.concatpd.mergecombine_first堆疊合并主鍵合并重疊合并數(shù)據(jù)合并語法重要參數(shù)釋義C=pd.concat([A,B],axis=?,join=?)jion=axis=innerouter0增加行
列取交集增加行
列取并集1增加列
行取交集增加列
行取并集語法合并方式C=A.combine_first(B)對A和B的列標簽取并集合并,得C的列標簽對A和B的行標簽取并集合并,得C的行標簽對C的(行標簽,列標簽)處的值按A或B的值進行填充2.相應(yīng)語法:語法參數(shù)兩表行為合并結(jié)果leftright行數(shù)列數(shù)C=pd.merge(left,right,how=?,on=?)或C=left.merge(right,how=?,on=?)how'inner'僅匹配僅匹配交集左表和右表列標簽的
并集'outer'全部保留全部保留并集'left'全部保留僅匹配=左表行數(shù)'right'僅匹配全部保留=右表行數(shù)'cross'全部組合全部組合=左行數(shù)×
右行數(shù)on合并主鍵:左表和右表所共有的列標簽merge的功能要強大一些,當(dāng)然參數(shù)也要復(fù)雜一些:序號idcpugpuidcpux11龍芯飛騰x33景嘉微x55摩爾線程5申威數(shù)
據(jù)
集
A序號idcpugpux11龍芯x2龍芯曦望x33景嘉微x4華為x55摩爾線程數(shù)據(jù)集B序號idcpux1飛騰y22海光x3y44兆芯x55申威(
1
)
按aixs=1,join='inner'
(增加列、行取交集)進行堆疊合并,結(jié)果如下:數(shù)據(jù)合并示例設(shè)有數(shù)據(jù)集A和B,如下表所示:序號cpugpuidx1飛騰龍芯1x2龍芯曦望x3景嘉微3x4華為x5申威摩爾線程5y2海光2y4兆芯4id_xcpugpuid_y1龍芯3景嘉微S摩爾線程(
2
)
按how='inner',on='cpu'
(列取并集、行取交集)進行合并,結(jié)果如下:(3)應(yīng)用combine_first
進行重疊合并,結(jié)果如下:相應(yīng)的示例程序:#%%數(shù)據(jù)合并示例importnumpy
as
npimport
pandas
as
pd#數(shù)據(jù)集AA=pd.DataFrame({'id':[1,np.nan,3,np.nan,5],'cpu':[np.nan,
'龍芯',np.nan,'華為',np.nan],'gpu':[
'龍芯','曦望','景嘉微',
np.nan,'摩爾線程']})A.index=['x1','x2','x3','x4','x5’]#數(shù)據(jù)集BB=pd.DataFrame({'id':[np.nan,2,np.nan,4,5],'cpu':[
'飛騰','海光',np.nan,'兆芯','申威']})B.index=['x1','y2','x3','y4','x5']#
對A和B進行合并A_concat_B=pd.concat([A,B],axis=1,join='inner')A_combine_B=A.combine_first(B)A_merge_B=A.merge(B,how='inner',on='cpu')小結(jié):本節(jié)介紹了關(guān)于數(shù)據(jù)集成的最直觀概念及典型流程,是需要大
家理解并掌握的內(nèi)容。思政:數(shù)據(jù)集成不僅是技術(shù)融合,更是資源協(xié)同。如同國家推動數(shù)據(jù)要素市場化,我們也要學(xué)會在合規(guī)中實現(xiàn)價值共創(chuàng)。開始原始數(shù)據(jù)和數(shù)據(jù)提供
帶著分析目的閱讀者討論咨詢
數(shù)據(jù)以發(fā)現(xiàn)臟數(shù)據(jù)python..數(shù)據(jù)清洗
sql/mysql..excel
…y
y完整性
有缺失
有重復(fù)
噪聲nn
n補充完整
缺失項處理-
刪除重復(fù)項
去噪n
n
nn不一致
異常值
冗余信息
值唯一y一致性規(guī)范
刪除異常值
刪除冗余信息
刪除該特征數(shù)據(jù)清洗一、數(shù)據(jù)清洗的定義簡單說來,數(shù)據(jù)清洗就是檢
測并處理數(shù)據(jù)中的臟信息。二、數(shù)據(jù)清洗的流程數(shù)據(jù)清洗流程如右圖所示。流程圖中清洗項只是常見臟
信息,還有其他意想不到的臟信息,具體問題具體分析。備
用y語法主要參數(shù)含義data.drop_duplicates(subset=None,keep='first',inplace=False
)subset需要去重列的列名,默認表示刪除重復(fù)的行keep取值{fisrt,last,False},表示重復(fù)項的處理方法:first=保留第一個last=保留最后一個False=只要有重復(fù),一個都不保留inplace取值{True,False},表示是否在原表上進行操作三、常規(guī)清洗項1.
重復(fù)項的檢測與處理對于n×p
型截面數(shù)據(jù)通過pandas
數(shù)據(jù)框的drop_duplicates方法進行檢測與處理。其中data是pandas數(shù)據(jù)框(dataframe)或序列(Series)。語法重要參數(shù)釋義data.dropna(axis=0,how='any')axis:取值{0,1},其中0為刪除行,1為刪除列。how:取值{'any','all'},其中‘a(chǎn)ny’表示只要有缺失值就執(zhí)行刪除操作;
'all’表示刪除全部為缺失值的行或列。2.缺失項的檢測與處理設(shè)數(shù)據(jù)集data為n×p
型截面數(shù)據(jù)。(1)缺失項的檢測
pandas
為數(shù)據(jù)框提供了isnull
方法來檢測數(shù)據(jù)是否有缺失項:語法含義data.isnull()data中有缺失值的地方為true,否則為Falsedata.isnull().sum()統(tǒng)計data每列缺失值的數(shù)量(2)缺失項的處理pandas
為數(shù)據(jù)框提供了兩種方法:刪除法和填充法△
刪除法
—
—dropna重要參數(shù)釋義value:用來填充缺失項的值method:取值{backfill/bfill,pad/ffill},表示填充方法,其中method=bfill表示使用后一個非缺失值填充缺失值method=ffill表示使用前一個非缺失值填充缺失值axis=1axis:取值{0,1},表示填充方向,其中axis=0,沿行方向填充axis=1,沿列方向填充缺失項的填充方法很多,此處僅介紹了pandas提供的方法。其他填充方法主要有針對定量變量的插值法,針對定性變量的隨機填充法,等等。value=None,
method=None,△
填充法
—
—fillnadata.fillna(語法)其中box
是一個字典,其‘fliers’鍵對應(yīng)的值包含了奇異值的坐標;get_ydata()是獲取奇異值y
坐標的方法;sigulary
存儲的就是奇異值。(3)處理關(guān)于異常值,有兩種處理方法:△直接刪除,適合樣本容量較大的情形△光滑處理:通過插值法來校準數(shù)據(jù);通過pandas
提供的rolling
方法來平滑數(shù)據(jù)。3.異常值的檢測與處理(1
)
定
義
所
謂異常值,
是指其中過大或過小、偏離常態(tài)的值,也稱為離群點。(
2
)
檢
測異常值的檢測pandas提供了boxplot方法,即應(yīng)用箱線圖檢測異常值。
語句示例如下:box
=data.boxplot(return_type='dict')sigulary=box['fliers'][0].get_ydata()時間PM2.5PM10CONO2SO203風(fēng)速壓強降水量溫度濕度2018/11/1410:0250980.86215460.51020.689.815652018/11/1410:06501040.75716511.91020.789.815642018/11/1410:06521010.75715530.41020.789.815642018/11/1410:0949960.75815490.51020.689.815642018/11/1410:102018/11/141070.75962151550471.41.31020.61020.489.889.815166464…………
·…………………四、案例分析【實驗1.2】自建點空氣質(zhì)量監(jiān)測數(shù)據(jù).xlsx
是一段時間內(nèi)某個空氣質(zhì)量監(jiān)測站對空氣所含“兩塵四氣”
(PM2.5、PM10、CO、NO2、SO2、03)
濃
度的監(jiān)測數(shù)據(jù),并同時監(jiān)測了溫度、濕度、風(fēng)速、氣壓、降水等氣象參數(shù)。
數(shù)據(jù)共有234717行、12列,數(shù)據(jù)集的前6行如下表所示。請對該數(shù)據(jù)集進行常規(guī)清洗?!締栴}分析】常規(guī)清洗包括重復(fù)項、缺失項、奇異值等幾個方面的檢測和處理。此處的重復(fù)項,是指“時間”列中凡是重復(fù)時刻對應(yīng)的數(shù)據(jù)都是重復(fù)記
錄的數(shù)據(jù)。經(jīng)過前面關(guān)于數(shù)據(jù)清洗的學(xué)習(xí),我們基本已成為這個方面的行家,
然后組織語言向大模型尋求解決方案的求解程序?!窘M織語言就編程求助大模型】
現(xiàn)有一個空氣質(zhì)量檢測數(shù)據(jù)集,保存在文檔“空氣質(zhì)量監(jiān)測數(shù)據(jù).xlsx”中。該數(shù)據(jù)集共有12列,第一列的標簽是“時間”?,F(xiàn)要對該數(shù)據(jù)集進行清洗:(
1
)
請
用pandas中drop_duplicates
方法對“時間”列中的重復(fù)項進行檢測,輸出數(shù)據(jù)集的全部重復(fù)項,
按保留第一條記錄、刪除其余重復(fù)記錄進行處理;(
2
)
請
用pandas
提供的方法對去重后的數(shù)據(jù)集中除“時間”列之外各列的缺失項進行檢測,并按前
向填充法進行填充;(
3
)
請
用pandas
提供的方法對填充后的數(shù)據(jù)集中的奇異值進行檢測,輸出除“時間”列之外各列的
全部奇異值,在同一畫布上畫出各列的箱線圖,并用平滑方法對奇異值進行平滑處理;(4)請在程序中備注好需要我修改的地方。
將上述組織好的語句輸入deepseek,
就會得到我們需要的程序。運行后得到結(jié)果描述如下:(1)重復(fù)項:共有4488條(2)缺失值:整個數(shù)據(jù)集沒有缺失值(3)奇異值:壓強、降水量、溫度、濕度,這四列沒有奇異值,可視化如下:小結(jié):本節(jié)介紹了數(shù)據(jù)清洗的典型流程;當(dāng)然,數(shù)據(jù)中的臟信息遠不止這些,大家在數(shù)據(jù)分析與挖掘過程中去發(fā)現(xiàn)它們,并處理它們。思政:數(shù)據(jù)清洗不是“洗白”,而是“求真”。我們處理的不僅是數(shù)據(jù),更是對事實的尊重?!?.4
數(shù)據(jù)變換一、數(shù)據(jù)變換的定義廣義上看,凡是改變變量的值的操作都是數(shù)據(jù)變換。二、數(shù)據(jù)變換的流程定量變量數(shù)據(jù)變換名義變量有序變量獨熱編碼標簽編碼序數(shù)編碼標準化離散化定性變量歸
一化檔案編號性別年齡體質(zhì)指數(shù)鍛煉頻率飲食習(xí)慣吸煙情況200100402301男1929.4不鍛煉葷素均衡從不吸煙200100402302男5023.1偶爾葷素均衡吸煙200100402303男5020.99偶爾葷素均衡吸煙200100402304男5020.99偶爾葷素均衡吸煙200100402305男2523.1不鍛煉葷素均衡從不吸煙200100402306女6122每天葷素均衡從不吸煙….
·…
·……··三、案例分析【實驗1
.3】來自體檢的部分指標數(shù)據(jù).xlsx是某社區(qū)一段時間內(nèi)的體檢信息
中的部分數(shù)據(jù),共有23516行、7列,數(shù)據(jù)集的前6行如下表所示。從表看出,“年齡、體質(zhì)指數(shù)”是定量變量,
“性別、鍛煉頻率、飲食習(xí)慣、吸煙情況”是定性變量?!咀⒁猓皺n案編號”不是變量】請對該數(shù)據(jù)集進行下述變換:分組名稱年齡范圍分組名稱BMI范圍(kg/m2)青少年13~19體重過低<18.5成人20~59正常范圍18.5~23.9年輕老年人60~74超重24.0~27.9中老年人75~84肥胖≥28.0高齡老人≥85(1)將年齡和體質(zhì)指數(shù)按醫(yī)學(xué)標準離散化為定性變量;(2)將所有定性變量進行賦值:名義變量按“獨熱編碼”賦值,有序變
量按“標簽編碼”賦值。【問題分析】
“年齡”按世界衛(wèi)生組織標準離散化,
“體質(zhì)指數(shù)”按中國標準離散化,結(jié)果如下:所以首先需要寫兩個分組函數(shù)分別應(yīng)用與年齡和體質(zhì)指數(shù)的離散化?!?/p>
組
織
語
言
就
編
程
求
助
大
模
型
】現(xiàn)有一個體檢數(shù)據(jù)集,保存在文檔“來自體檢的部分指標數(shù)據(jù).xlsx”中。該數(shù)據(jù)集共有7列,第1列的標簽是“檔案編號”,不是變量;之后各列標簽分別是
“性別、年齡、體質(zhì)指數(shù)、鍛煉頻率、飲食習(xí)慣、吸煙情況”。(1)年齡和體質(zhì)指數(shù)是定量變量,請按醫(yī)學(xué)標準離散化為定性變量;(2)年齡和體質(zhì)指數(shù)離散化后,“性別、飲食習(xí)慣、吸煙情況”是名義變量,其余變量是有序變量,請按相應(yīng)方法進行賦值,并保存賦值對應(yīng)的映射;(3)請在程序中備注好需要我修改的地方。
組織的語言檔案編號性別年齡體質(zhì)指數(shù)鍛煉頻率飲食習(xí)慣吸煙情
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家長消防安全培訓(xùn)會課件
- 2026年市場人員勞動合同續(xù)簽協(xié)議
- 2026年個人辦公室租賃合同
- 2026年室內(nèi)裝修開荒保潔合同協(xié)議
- 2026年影視經(jīng)紀合同
- 林地租賃合同2026年補充條款
- 2026年短期公司與個人借款合同
- 2026年起重設(shè)備租賃保險合同
- 資料員崗位年終總結(jié)
- 培訓(xùn)需求分析
- 幼兒家長玩具觀的調(diào)查研究
- 2025年國家開放大學(xué)《管理心理學(xué)》期末考試備考題庫及答案解析
- CT引導(dǎo)下顱腦病變的穿刺活檢
- 漢高祖劉邦課件
- 2024年中醫(yī)適宜技術(shù)操作規(guī)范
- 2025年電子商務(wù)運營管理考試試題及答案解析
- 道路巡查知識培訓(xùn)課件
- T-ESD 3005-2025 潮濕及靜電敏感電子元器件用防靜電包裝組件通.用技術(shù)規(guī)范
- 發(fā)貨員崗位考試題及答案
- 工廠體系管理知識培訓(xùn)課件
- 2025年保密教育測試題庫(含參考答案)
評論
0/150
提交評論