python-pandas-數(shù)據(jù)分析技術(shù)與編程方法講座教學(xué)講義課件_第1頁
python-pandas-數(shù)據(jù)分析技術(shù)與編程方法講座教學(xué)講義課件_第2頁
python-pandas-數(shù)據(jù)分析技術(shù)與編程方法講座教學(xué)講義課件_第3頁
python-pandas-數(shù)據(jù)分析技術(shù)與編程方法講座教學(xué)講義課件_第4頁
python-pandas-數(shù)據(jù)分析技術(shù)與編程方法講座教學(xué)講義課件_第5頁
已閱讀5頁,還剩185頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

python-pandas-數(shù)據(jù)分析技術(shù)與編程方法講座Python入門開發(fā)環(huán)境IDEpandas數(shù)據(jù)分析庫數(shù)據(jù)規(guī)整化數(shù)據(jù)聚合與分組實(shí)例分析——泰坦尼克之災(zāi)目錄Python是自由軟件豐碩成果之一創(chuàng)始人GuidovanRossum時(shí)間地點(diǎn)1989年圣誕節(jié)期間在阿姆斯特丹創(chuàng)造名字來源大蟒蛇飛行馬戲團(tuán)愛好者淵源從ABC發(fā)展而來主要受Modula-3的影響結(jié)合了Unixshell和C的習(xí)慣Python的歷史當(dāng)我們編寫Python代碼時(shí),我們得到的是一個(gè)包含Python代碼的以.py為擴(kuò)展名的文本文件。要運(yùn)行代碼,就需要Python解釋器去執(zhí)行.py文件。Python解釋器CPython當(dāng)我們從Python官方網(wǎng)站下載并安裝好Python2.7后,我們就直接獲得了一個(gè)官方版本的解釋器:CPython。這個(gè)解釋器是用C語言開發(fā)的,所以叫CPython。在命令行下運(yùn)行python就是啟動(dòng)CPython解釋器。CPython是使用最廣的Python解釋器。Python解釋器IPythonIPython是基于CPython之上的一個(gè)交互式解釋器,也就是說,IPython只是在交互方式上有所增強(qiáng),但是執(zhí)行Python代碼的功能和CPython是完全一樣的。CPython用>>>作為提示符,而IPython用In[序號(hào)]:作為提示符。Python解釋器PyPyPyPy是另一個(gè)Python解釋器,它的目標(biāo)是執(zhí)行速度。PyPy采用JIT技術(shù),對(duì)Python代碼進(jìn)行動(dòng)態(tài)編譯(注意不是解釋),所以可以顯著提高Python代碼的執(zhí)行速度。絕大部分Python代碼都可以在PyPy下運(yùn)行,但是PyPy和CPython有一些是不同的,這就導(dǎo)致相同的Python代碼在兩種解釋器下執(zhí)行可能會(huì)有不同的結(jié)果。如果你的代碼要放到PyPy下執(zhí)行,就需要了解PyPy和CPython的不同點(diǎn)。Python解釋器JythonJython是運(yùn)行在Java平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成Java字節(jié)碼執(zhí)行。Python解釋器IronPythonIronPython和Jython類似,只不過IronPython是運(yùn)行在微軟.Net平臺(tái)上的Python解釋器,可以直接把Python代碼編譯成.Net的字節(jié)碼。Python解釋器OS:64位windows7Version:python-2.7.11.msi注意:1.安裝時(shí)勾選addtoenvironment,默認(rèn)安裝pip2.添加pip環(huán)境變量path=C:\Python27\ScriptsPyPI(PythonPackageIndex)是python官方的第三方庫的倉庫,pip是一個(gè)安裝和管理Python包的工具。Windows下Python安裝與配置pythonshellIDLE(PythonGUI)ipythonNotepad++PyCharmPython開發(fā)環(huán)境eclipse+PyDevIDE配置PyDevInterpreter打開Window->Preferences.對(duì)話框,選擇"PyDev"->"InterpreterPython",點(diǎn)擊New,從Python的安裝路徑下選擇Python.exe。也可以點(diǎn)AutoConfig自動(dòng)配置,會(huì)搜索安裝好的python自動(dòng)配置。Python開發(fā)環(huán)境Python開發(fā)環(huán)境Python文件不支持中文注釋問題:#coding=<encodingname>#!/usr/bin/python#-*-coding:<encodingname>-*-#!/usr/bin/python#vim:setfileencoding=<encodingname>:eg:#coding=utf-8特別注意:Python文件編碼聲明Python中行首的空白是重要的,它稱為縮進(jìn)。在邏輯行首的空白(空格和制表符)用來決定邏輯行的縮進(jìn)層次,從而用來決定語句的分組。

if0==1:

print'Weareinaworldofarithmeticpain'print'Thankyouforplaying'將輸出Thankyouforplaying

if0==1:print'Weareinaworldofarithmeticpain'print'Thankyouforplaying'將不會(huì)有輸出特別注意:縮進(jìn)可以使用空格或制表符產(chǎn)生縮進(jìn),兩個(gè)空格或四個(gè)空格都是可以的,不過一般建議使用一個(gè)制表符TAB產(chǎn)生縮進(jìn),你的程序應(yīng)該固定使用一種縮進(jìn)規(guī)則。Python代碼縮進(jìn)決定了代碼的邏輯關(guān)系,而不僅僅是為了好看?。?!特別注意:縮進(jìn)pandas數(shù)據(jù)分析numpy科學(xué)計(jì)算包scipy科學(xué)計(jì)算包matplotlib畫圖/表scikit-learn機(jī)器學(xué)習(xí)庫Seaborn數(shù)據(jù)可視化工具包常用擴(kuò)展包Python的一個(gè)數(shù)據(jù)分析包AQRCapitalManagement于2008年4月開發(fā)2009年底開源目前由專注于Python數(shù)據(jù)包開發(fā)的PyData開發(fā)team繼續(xù)開發(fā)和維護(hù),屬于PyData項(xiàng)目的一部分。約定俗成的導(dǎo)入慣例:In[1]:frompandasimportSeries,DataFrame

In[2]:importpandasaspdPandas1.SeriesSeries是一維標(biāo)記數(shù)組,可以存儲(chǔ)任意數(shù)據(jù)類型,如整型、字符串、浮點(diǎn)型和Python對(duì)象等,軸標(biāo)一般指索引。Series

Numpy中的一維array

Python基本數(shù)據(jù)結(jié)構(gòu)List區(qū)別:List中的元素可以是不同的數(shù)據(jù)類型,而Array和Series中則只允許存儲(chǔ)相同的數(shù)據(jù)類型,這樣可以更有效的使用內(nèi)存,提高運(yùn)算效率。Pandas中的數(shù)據(jù)結(jié)構(gòu)2.DataFrameDataFrame是二維標(biāo)記數(shù)據(jù)結(jié)構(gòu),列可以是不同的數(shù)據(jù)類型。它是最常用的pandas對(duì)象,像Series一樣可以接收多種輸入:lists、dicts、series和DataFrame等。初始化對(duì)象時(shí),除了數(shù)據(jù)還可以傳index和columns這兩個(gè)參數(shù)。Pandas中的數(shù)據(jù)結(jié)構(gòu)3.PanelPanel很少使用,然而是很重要的三維數(shù)據(jù)容器。Paneldata源于經(jīng)濟(jì)學(xué),也是pan(el)-da(ta)-s的來源。Pandas中的數(shù)據(jù)結(jié)構(gòu)4.Panel4DPanel4D是像Panel一樣的4維容器,作為N維容器的一個(gè)測(cè)試。Panel4D是Panel的一個(gè)子集,因此Panel的大多數(shù)方法可用于4D,但以下方法不可用:join,to_excel,to_frame,to_sparse,groupby。Pandas中的數(shù)據(jù)結(jié)構(gòu)5.PanelNDPanelND是一個(gè)擁有factory集合,可以創(chuàng)建像Panel4D一樣N維命名容器的模塊。Pandas中的數(shù)據(jù)結(jié)構(gòu)通過傳遞一個(gè)list對(duì)象來創(chuàng)建Series,默認(rèn)創(chuàng)建整型索引;In[4]:obj=Series([4,7,-5,3])創(chuàng)建一個(gè)帶有索引來確定每一個(gè)數(shù)據(jù)點(diǎn)的Series;In[8]:obj2=Series([4,7,-5,3],index=['d','b','a','c'])如果你有一些數(shù)據(jù)在一個(gè)Python字典中,你可以通過傳遞字典來創(chuàng)建一個(gè)Series;In[11]:sdata={'Ohio':35000,'Texas':71000,'Oregon':16000,'Utah':5000}In[12]:obj3=Series(sdata)In[14]:states=['California','Ohio','Oregon','Texas']In[15]:obj4=Series(sdata,index=states)Series相關(guān)操作——?jiǎng)?chuàng)建通過一個(gè)布爾數(shù)組過濾,純量乘法,或使用數(shù)學(xué)函數(shù),將會(huì)保持索引和值間的關(guān)聯(lián):Series相關(guān)操作Series是一個(gè)定長(zhǎng)的,有序的字典,因?yàn)樗阉饕椭涤成淦饋砹恕K梢赃m用于許多期望一個(gè)字典的函數(shù):Series相關(guān)操作在pandas中用函數(shù)isnull和notnull來檢測(cè)數(shù)據(jù)丟失:pd.isnull(obj4)pd.notnull(obj4)Series也提供了這些函數(shù)的實(shí)例方法:obj4.isnull()Series相關(guān)操作Series的一個(gè)重要功能是在算術(shù)運(yùn)算中它會(huì)自動(dòng)對(duì)齊不同索引的數(shù)據(jù):Series相關(guān)操作Series對(duì)象本身和它的索引都有一個(gè)name屬性,它和pandas的其它一些關(guān)鍵功能整合在一起:Series相關(guān)操作從坐標(biāo)軸刪除條目,drop方法將會(huì)返回一個(gè)新的對(duì)象并從坐標(biāo)軸中刪除指定的一個(gè)或多個(gè)值:Series相關(guān)操作Series除了可以使用索引值,也可以僅使用整數(shù)來索引:Series相關(guān)操作直方圖:Series相關(guān)操作字符串方法:Series相關(guān)操作通過傳遞一個(gè)NumPyarray,時(shí)間索引以及列標(biāo)簽來創(chuàng)建一個(gè)DataFrame;用一個(gè)相等長(zhǎng)度列表的字典;它的索引會(huì)自動(dòng)分配,并且對(duì)列進(jìn)行了排序;如果設(shè)定了一個(gè)列的順序,DataFrame的列將會(huì)精確的按照所傳遞的順序排列;DataFrame相關(guān)操作——?jiǎng)?chuàng)建通過一個(gè)嵌套的字典格式創(chuàng)建DataFrame:外部鍵會(huì)被解釋為列索引,內(nèi)部鍵會(huì)被解釋為行索引;內(nèi)部字典的鍵被結(jié)合并排序來形成結(jié)果的索引;可以對(duì)結(jié)果轉(zhuǎn)置:DataFrame相關(guān)操作——?jiǎng)?chuàng)建DataFrame中的一列可以通過字典記法或?qū)傩詠頇z索:注意,返回的Series包含和DataFrame相同的索引,并它們的name屬性也被正確的設(shè)置了。DataFrame相關(guān)操作——檢索為了使DataFrame可以

在行上進(jìn)行標(biāo)簽索引,將介紹特殊的索引字段ix。這使你可以從DataFrame選擇一個(gè)行和列的子集,這也是一種不是很冗長(zhǎng)的重新索引的方法。DataFrame相關(guān)操作——檢索對(duì)于DataFrame,有很多方法來選擇和重排包含在pandas對(duì)象中的數(shù)據(jù)。DataFrame相關(guān)操作——檢索列可以通過賦值來修改。例如,空的‘debt’列可以通過一個(gè)純量或一個(gè)數(shù)組來賦值;注意:通過列表或數(shù)組給一列賦值時(shí),所賦的值的長(zhǎng)度必須和DataFrame的長(zhǎng)度相匹配。使用Series來賦值,它會(huì)代替在DataFrame中精確匹配的索引的值,并在所有的空洞插入丟失數(shù)據(jù)NaN;給一個(gè)不存在的列賦值,將會(huì)創(chuàng)建一個(gè)新的列;DataFrame相關(guān)操作——賦值pandas的最重要的特性之一是在具有不同索引的對(duì)象間進(jìn)行算術(shù)運(yùn)算。當(dāng)把對(duì)象加起來時(shí),如果有任何索引對(duì)不相同的話,在結(jié)果中將會(huì)把各自的索引聯(lián)合起來。DataFrame相關(guān)操作——算術(shù)運(yùn)算在不同索引對(duì)象間的算術(shù)運(yùn)算,當(dāng)一個(gè)軸標(biāo)簽在另一個(gè)對(duì)象中找不到時(shí),你可能想要填充一個(gè)特定的值,如0。Howtodoit?DataFrame相關(guān)操作對(duì)于DataFrame,可以從任何坐標(biāo)軸刪除索引值:像字典一樣del關(guān)鍵字將會(huì)刪除列:DataFrame相關(guān)操作寫入excel文件:df.to_excel('foo.xlsx',sheet_name='Sheet1')從excel文件中讀?。簆d.read_excel('foo.xlsx','Sheet1',index_col=None,na_values=['NA'])寫入csv文件:df.to_csv('foo.csv')從csv文件中讀?。簆d.read_csv('foo.csv')寫入HDF5存儲(chǔ):df.to_hdf('foo.h5','df')從HDF5存儲(chǔ)中讀?。簆d.read_hdf('foo.h5','df')DataFrame相關(guān)操作——導(dǎo)入和保存數(shù)據(jù)首先,作為一個(gè)激發(fā)性的例子,考慮一個(gè)二維數(shù)組和它的一個(gè)行間的差分:這被稱為廣播(broadcasting)。DataFrame和Series間的操作在一個(gè)DataFrame和一個(gè)Series間的操作是類似的:DataFrame和Series間的操作pandas的索引對(duì)象用來保存坐標(biāo)軸標(biāo)簽和其它元數(shù)據(jù)(如坐標(biāo)軸名或名稱)。構(gòu)建一個(gè)Series或DataFrame時(shí)任何數(shù)組或其它序列標(biāo)簽在內(nèi)部轉(zhuǎn)化為索引:pandas的索引對(duì)象索引對(duì)象是不可變的,不能由用戶改變:索引對(duì)象的不可變性非常重要,這樣它可以在數(shù)據(jù)結(jié)構(gòu)中結(jié)構(gòu)中安全的共享:pandas的索引對(duì)象pandas中的主要索引對(duì)象:pandas的索引對(duì)象除了類似于陣列,索引也有類似固定大小集合一樣的功能:pandas的索引對(duì)象每個(gè)索引都有許多關(guān)于集合邏輯的方法和屬性,且能夠解決它所包含的數(shù)據(jù)的常見問題。pandas的索引對(duì)象reindex,意味著使數(shù)據(jù)符合一個(gè)新的索引來構(gòu)造一個(gè)新的對(duì)象。在Series上調(diào)用reindex重排數(shù)據(jù),使得它符合新的索引,如果那個(gè)索引的值不存在就引入缺失數(shù)據(jù)值:pandas對(duì)象的一個(gè)關(guān)鍵方法——重新索引為了對(duì)時(shí)間序列這樣的數(shù)據(jù)排序,當(dāng)重建索引的時(shí)候可能想要對(duì)值進(jìn)行內(nèi)插或填充。method選項(xiàng)可以是你做到這一點(diǎn),使用一個(gè)如ffill的方法來向前填充值:reindex的method(內(nèi)插)選項(xiàng):pandas對(duì)象的一個(gè)重要功能——重新索引對(duì)于DataFrame,reindex可以改變(行)索引,列或兩者。當(dāng)只傳入一個(gè)序列時(shí),結(jié)果中的行被重新索引了:pandas對(duì)象的一個(gè)重要功能——重新索引使用columns關(guān)鍵字可以使列重新索引:pandas對(duì)象的一個(gè)重要功能——重新索引一次可以對(duì)兩個(gè)重新索引,可是插值只在行側(cè)(0坐標(biāo)軸)進(jìn)行:pandas對(duì)象的一個(gè)重要功能——重新索引使用帶標(biāo)簽索引的ix可以把重新索引做的更簡(jiǎn)單:pandas對(duì)象的一個(gè)重要功能——重新索引reindex函數(shù)的參數(shù):pandas對(duì)象的一個(gè)重要功能——重新索引Pandas提供了大量的方法能夠輕松的對(duì)Series,DataFrame和Panel對(duì)象進(jìn)行各種符合各種邏輯關(guān)系的合并操作。ConcatMerge(類似于SQL類型的合并)Append(將一行連接到一個(gè)DataFrame上)數(shù)據(jù)規(guī)整化——合并concat數(shù)據(jù)規(guī)整化——合并merge默認(rèn)情況下,merge做的是“inner”連接,結(jié)果中的鍵是交集。其他方式還有“l(fā)eft”,“right”以及“outer”。數(shù)據(jù)規(guī)整化——合并append數(shù)據(jù)規(guī)整化——合并Stack/unstack數(shù)據(jù)規(guī)整化——重塑數(shù)據(jù)透視表數(shù)據(jù)規(guī)整化——重塑DataFrame中常常會(huì)出現(xiàn)重復(fù)行,DataFrame的duplicated方法返回一個(gè)布爾型Series,表示各行是否是重復(fù)行;還有一個(gè)drop_duplicated方法,它返回一個(gè)移除了重復(fù)行的DataFrame:數(shù)據(jù)規(guī)整化——清理執(zhí)行描述性統(tǒng)計(jì):df.mean()在其它軸上進(jìn)行描述性統(tǒng)計(jì):df.mean(1)數(shù)據(jù)聚合與分組對(duì)數(shù)據(jù)應(yīng)用函數(shù):數(shù)據(jù)聚合與分組對(duì)于”groupby”操作,我們通常是指以下一個(gè)或多個(gè)操作步驟:(Splitting)按照一些規(guī)則將數(shù)據(jù)分為不同的組;(Applying)對(duì)于每組數(shù)據(jù)分別執(zhí)行一個(gè)函數(shù);(Combining)將結(jié)果組合到一個(gè)數(shù)據(jù)結(jié)構(gòu)中;數(shù)據(jù)聚合與分組分組并對(duì)每個(gè)分組執(zhí)行sum函數(shù):通過多個(gè)列進(jìn)行分組形成一個(gè)層次索引,然后執(zhí)行函數(shù):數(shù)據(jù)聚合與分組泰坦尼克號(hào)問題之背景:就是大家都熟悉的『JackandRose』的故事,豪華游艇快沉了,大家都驚恐逃生,可是救生艇的數(shù)量有限,無法人人都上,副船長(zhǎng)發(fā)話了『ladyandkidfirst!』,所以是否獲救其實(shí)并非隨機(jī),而是基于一些背景有rank先后的。訓(xùn)練和測(cè)試數(shù)據(jù)是一些乘客的個(gè)人信息以及存活狀況,要嘗試根據(jù)它生成合適的模型并預(yù)測(cè)其他人的存活狀況。這是一個(gè)二分類問題,是logisticregression所能處理的范疇。實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)從機(jī)器學(xué)習(xí)問題角度監(jiān)督學(xué)習(xí)無監(jiān)督學(xué)習(xí)半監(jiān)督學(xué)習(xí)機(jī)器學(xué)習(xí)——算法概覽從算法的功能角度回歸算法(RegressionAlgorithms)基于實(shí)例的算法(Instance-basedAlgorithms)決策樹類算法(DecisionTreeAlgorithms)貝葉斯類算法(BayesianAlgorithms)聚類算法(ClusteringAlgorithms)人工神經(jīng)網(wǎng)絡(luò)類算法(ArtificialNeuralNetworkAlgorithms)深度學(xué)習(xí)(DeepLearningAlgorithms)降維算法(DimensionalityReductionAlgorithms)模型融合算法(EnsembleAlgorithms)機(jī)器學(xué)習(xí)——算法概覽機(jī)器學(xué)習(xí)——算法概覽預(yù)測(cè)結(jié)果如果是離散值(比如郵件分類問題中的垃圾郵件/普通郵件,比如用戶會(huì)/不會(huì)購買某商品),那么我們把它叫做分類問題(classificationproblem);樸素貝葉斯、邏輯回歸、支持向量機(jī)等預(yù)測(cè)結(jié)果是連續(xù)值(比如房?jī)r(jià),股票價(jià)格等等),那么我們把它叫做回歸問題(regressionproblem)。線性回歸等機(jī)器學(xué)習(xí)——分類與回歸邏輯回歸監(jiān)督學(xué)習(xí)分類問題邏輯回歸的成功之處在于,將原本輸出結(jié)果通過sigmoid函數(shù)映射到(0,1),從而完成概率的估測(cè)。邏輯回歸能夠較好地把兩類樣本點(diǎn)分隔開,解決分類問題。機(jī)器學(xué)習(xí)——邏輯回歸泰坦尼克號(hào)問題之背景:就是大家都熟悉的『JackandRose』的故事,豪華游艇快沉了,大家都驚恐逃生,可是救生艇的數(shù)量有限,無法人人都上,副船長(zhǎng)發(fā)話了『ladyandkidfirst!』,所以是否獲救其實(shí)并非隨機(jī),而是基于一些背景有rank先后的。訓(xùn)練和測(cè)試數(shù)據(jù)是一些乘客的個(gè)人信息以及存活狀況,要嘗試根據(jù)它生成合適的模型并預(yù)測(cè)其他人的存活狀況。這是一個(gè)二分類問題,是logisticregression所能處理的范疇。/實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)importpandasaspd#數(shù)據(jù)分析importnumpyasnp#科學(xué)計(jì)算frompandasimportSeries,DataFramedata_train=pd.read_csv("/Users/WGW/Titanic_data/Train.csv")data_train實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)data_train如下所示:實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)訓(xùn)練數(shù)據(jù)中總共有891名乘客,but有些屬性的數(shù)據(jù)不全,比如說:Age(年齡)屬性只有714名乘客有記錄Cabin(客艙)更是只有204名乘客是已知的實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)我們用下列的方法,得到數(shù)值型數(shù)據(jù)的一些分布:mean字段告訴我們,大概0.383838的人最后獲救了,平均乘客年齡大概是29.7歲(計(jì)算這個(gè)時(shí)候會(huì)略掉無記錄的)…實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)統(tǒng)計(jì)乘客各屬性分部:實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)1、被救的人300多點(diǎn),不到半數(shù);2、3等艙乘客非常多;3、遇難和獲救的人年齡似乎跨度都很廣;4、3個(gè)不同的艙年齡總體趨勢(shì)似乎也一致,3等艙乘客20歲多點(diǎn)的人最多,1等艙40歲左右的最多;5、登船港口人數(shù)按照S、C、Q遞減,而且S遠(yuǎn)多于另外兩港口。實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)可能會(huì)有一些想法了:1、不同艙位/乘客等級(jí)可能和財(cái)富/地位有關(guān)系,最后獲救概率可能會(huì)不一樣?2、年齡對(duì)獲救概率也一定是有影響的,畢竟前面說了,副船長(zhǎng)還說『小孩和女士先走』呢?3、和登船港口是不是有關(guān)系呢?也許登船港口不同,人的出身地位不同?實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)屬性與獲救結(jié)果的關(guān)聯(lián)統(tǒng)計(jì):實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)先把Cabin缺失與否作為條件(雖然這部分信息缺失可能并非未登記,丟失了而已?所以這樣做未必妥當(dāng)),先在有無Cabin信息這個(gè)粗粒度上看看Survived的情況。實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)大體數(shù)據(jù)的情況看了一遍,對(duì)感興趣的屬性也有個(gè)大概的了解了。下一步干啥?處理處理這些數(shù)據(jù)(featureengineering過程),為機(jī)器學(xué)習(xí)建模做點(diǎn)準(zhǔn)備吧實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)Cabin:按Cabin有無數(shù)據(jù),將這個(gè)屬性處理成Yes和No兩種類型吧。Age:通常遇到缺值的情況,我們會(huì)有幾種常見的處理方式。實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)缺失數(shù)據(jù)常用處理方式:1、如果缺值的樣本占總數(shù)比例極高,我們可能就直接舍棄了,作為特征加入的話,可能反倒帶入noise,影響最后的結(jié)果了。2、如果缺值的樣本適中,而該屬性非連續(xù)值特征屬性(比如說類目屬性),那就把NaN作為一個(gè)新類別,加到類別特征中。3、如果缺值的樣本適中,而該屬性為連續(xù)值特征屬性,有時(shí)候我們會(huì)考慮給定一個(gè)step(比如這里的age,我們可以考慮每隔2/3歲為一個(gè)步長(zhǎng)),然后把它離散化,之后把NaN作為一個(gè)type加到屬性類目中。4、有些情況下,缺失的值個(gè)數(shù)并不是特別多,那我們也可以試著根據(jù)已有的值,擬合一下數(shù)據(jù),補(bǔ)充上。實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)用scikit-learn中的RandomForest來擬合缺失的年齡數(shù)據(jù):實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)因?yàn)檫壿嫽貧w建模時(shí),需要輸入的特征都是數(shù)值型特征,我們通常會(huì)先對(duì)類目型的特征因子化。什么叫做因子化呢?舉個(gè)例子:以Cabin為例,原本一個(gè)屬性維度,因?yàn)槠淙≈悼梢允荹‘yes’,’no’],而將其平展開為’Cabin_yes’,’Cabin_no’兩個(gè)屬性。原本Cabin取值為yes的,在此處的”Cabin_yes”下取值為1,在”Cabin_no”下取值為0原本Cabin取值為no的,在此處的”Cabin_yes”下取值為0,在”Cabin_no”下取值為1實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)使用pandas的”get_dummies”來完成特征因子化,并拼接在原來的”data_train”之上:實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)各屬性值之間scale差距太大,將對(duì)收斂速度造成幾萬點(diǎn)傷害值!甚至不收斂!先用scikit-learn里面的preprocessing模塊做一個(gè)scaling,所謂scaling,其實(shí)就是將一些變化幅度較大的特征化到[-1,1]之內(nèi)。實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)把需要的feature字段取出來,轉(zhuǎn)成numpy格式,使用scikit-learn中的LogisticRegression建模:實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)”test_data”也要做和”train_data”一樣的預(yù)處理?。?!實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)預(yù)測(cè)取結(jié)果嘍!實(shí)例——邏輯回歸Kaggle泰坦尼克之災(zāi)心肺復(fù)蘇新進(jìn)展于學(xué)忠心肺復(fù)蘇研究?jī)?nèi)容復(fù)蘇學(xué)又稱為心肺腦復(fù)蘇(CardiacPulmonaryCerebralResuscitation,CPCR),是研究心跳呼吸驟停后,由于缺血缺氧所造成的機(jī)體組織細(xì)胞和器官衰竭的發(fā)生機(jī)制及其阻斷并逆轉(zhuǎn)其發(fā)展過程的方法,目的在于保護(hù)腦和心、肺等重要臟器不致達(dá)到不可逆的損傷程度,并盡快恢復(fù)自主呼吸和循環(huán)功能。心跳驟停的定義

心跳驟停的定義,而從不同的臨床角度出發(fā),心跳驟停的定義也不完全相同。WHO規(guī)定:發(fā)病或受傷后24小時(shí)內(nèi)心臟停搏,即為心跳驟停。美國(guó)AHA為冠心病患者心跳驟停所作的定義是:冠心病發(fā)病后1小時(shí)內(nèi)心臟停搏,即為心臟驟停。Cecil內(nèi)科學(xué)第十六版則規(guī)定:任何心臟病患者或非心臟病患者,在未能估計(jì)到的時(shí)間內(nèi),心搏突然停止,即應(yīng)視為心跳驟停。心肺復(fù)蘇歷史回顧

1974---開始面向公眾進(jìn)行心肺復(fù)蘇培訓(xùn)1980---ACLS指南第一次制定1986---兒童BLS、ALS指南制定1992---成立國(guó)際心肺復(fù)蘇指南籌備委員會(huì)2000---第一次國(guó)際心肺復(fù)蘇指南制定新指南的主要變化人工通氣除顫復(fù)蘇用藥心肌保護(hù)TheABC’sofCPRA:AirwayB:BreathingC:Circulation問題口對(duì)口通氣在急救中能否普及?口對(duì)口通氣真的有效嗎?口對(duì)口通氣情況調(diào)查1,大多數(shù)院前急救人員不愿對(duì)陌生人作口對(duì)口人工通氣。

OrnatoJPetal19902,45%醫(yī)生和80%護(hù)士不愿對(duì)陌生人作口對(duì)口通氣。

BrennerBEetal1993

3,85%其他人員不愿對(duì)陌生人作口對(duì)口通氣。

LockeCJetal1995CPR前12分鐘內(nèi),

口對(duì)口通氣是不必要的ICCM:TangWetal:AmJRespirCritCareMed,1994NocMetal:Chest,1995JohnsHopkins:ChandraNCetal:Circulation,1994

UofArizona:BergRAetal:Circulation,1993BergRAeaal:AnnEmergMed,1995Rats,dogs,andpigsarenothumans!

-Dr.Petersafar人體資料_________________________________

No.ROSC%Survival%CConly24140.214.6CC+V27934.110.4HallstromAPetal:NEnglJMed2000;342:1546新指南在心肺復(fù)蘇過程中加入你不愿意做口對(duì)口通氣,則應(yīng)立刻開始胸外心臟按壓。現(xiàn)有資料證明,及時(shí)單做胸外心臟按壓,其預(yù)后要比完全沒有CPR好得多。新指南如果你愿意做口對(duì)口通氣,其胸外按壓與通氣的比例為15:2,胸外心臟按壓的頻率為100次/分。Case患者在10分鐘內(nèi)送到了醫(yī)院搶救室,請(qǐng)問:1,患者體內(nèi)因心跳呼吸停止發(fā)生了什么病理生理變化2,搶救室應(yīng)如何實(shí)施搶救,說出具體的搶救步驟心跳呼吸

停止后病理生理變化心跳停止組織缺血缺氧組織內(nèi)腺苷、乳酸、CO2、H+

血管阻力心輸出量

心跳呼吸

停止后病理生理變化鈣離子內(nèi)流前列腺素再灌注損傷氣管內(nèi)插管可有效地保證呼吸道暢通并防止嘔吐物誤吸,故應(yīng)及早進(jìn)行。插管前應(yīng)先檢查氣囊有無破裂漏氣。管道插入后注好氣囊并妥為固定,即可聯(lián)接呼吸機(jī)或麻醉機(jī)予以機(jī)械通氣及供氧。開始時(shí)可予以純氧,自主呼吸心跳恢復(fù)后可根據(jù)動(dòng)脈血?dú)夥治鼋Y(jié)果進(jìn)行調(diào)節(jié),一般氧濃度控制在50%左右對(duì)病人來說是安全的。

阻塞食管通氣管(EOA)阻塞食管通氣法具有操作簡(jiǎn)單,迅速(僅需5秒鐘,而氣管插管需30秒鐘);成功率高(達(dá)90%,氣管插管為50%);在聲帶看不見時(shí)或有嘔吐物時(shí)可操作;在頸椎損傷時(shí)也可使用等優(yōu)點(diǎn)。主要適用于牙關(guān)松弛,昏迷或呼吸停止而又不能或不允許行氣管插管的病人,或沒有經(jīng)過氣管插管訓(xùn)練的人采用。由于食管已被阻塞,在行正壓通氣時(shí)可防止胃液返流和減少胃充氣。

阻塞食管通氣管(EOA)優(yōu)點(diǎn):操作簡(jiǎn)單,迅速(5秒,氣管插管30分鐘)成功率高(90%,氣管插管50%)在聲帶看不見或嘔吐時(shí)仍可操作有頸椎損傷時(shí)依然可用禁忌癥:食道疾病、清醒病人、兒童、身高<120cm之成人機(jī)械通氣機(jī)械通氣適應(yīng)癥呼吸機(jī)類型選擇參數(shù)調(diào)節(jié)氣道管理機(jī)械通氣并發(fā)癥胸外心臟按壓按壓部位按壓頻率按壓深度輔助措施并發(fā)癥胸外心臟按壓注意事項(xiàng)胸外心臟按壓如操作不標(biāo)準(zhǔn),常會(huì)導(dǎo)致并發(fā)癥的發(fā)生。按壓部位不正確。搶救者按壓時(shí)肘部彎曲,導(dǎo)致用力不垂直,按壓力量不足,按壓深度達(dá)不到4-5公分。沖擊式按壓、猛壓、按壓放松時(shí)抬手離開胸骨定位點(diǎn),導(dǎo)致下次按壓部位錯(cuò)誤等情況,均可由此引起骨折?;纠碚撔谋脤W(xué)說胸泵學(xué)說復(fù)蘇藥物心三聯(lián)新三聯(lián)目前用藥心內(nèi)注射靜脈給藥氣管樹給藥腎上腺素最古老,最有效,應(yīng)用最廣泛的兒茶酚胺類藥物,兼有α及β受體的興奮作用。其α受體作用可使全身外周血管收縮(不包括冠狀血管及腦血管),進(jìn)而增加主動(dòng)脈舒張壓,改善心肌及腦的血液灌注,促進(jìn)自主心搏的恢復(fù)。腎上腺素能受體受體組織反應(yīng)α1心臟、平滑?。ㄎ改c道)收縮力α2血管平滑肌收縮力β1心臟收縮力β2平滑肌(血管、支氣管)舒張腎上腺素α受體作用外周血管阻力心、腦血流復(fù)蘇成功率腎上腺素β受體作用心肌耗氧量室性心律失常心功能不全復(fù)蘇成功率腎上腺素應(yīng)用劑量標(biāo)準(zhǔn)劑量大劑量腎上腺素應(yīng)用劑量

7mg(N=317)1mg(N=333)No.%No.%ROSC56187623出院率103165StiellIGetal:NEnglJMed1992;327:1045腎上腺素應(yīng)用劑量15mg(N=286)1mg(N=270)No.%No.%ROSC3713228出院率51.731.2CallahamMLetal:JAMA1992;268;2667腎上腺素應(yīng)用劑量0.2mg/kg(N=648)1mg(N=632)No.%No.%ROSC2173319030出院率315264BrownCGetal:NEnglJMed1992;327;1051血管加壓素

腎上腺素副作用之一是心臟復(fù)跳后即刻發(fā)生心動(dòng)過速,也可發(fā)生心肌缺血或再次室顫,所以在CPR期間,主要作用為外周血管收縮的藥物已被用于替代腎上腺素。一個(gè)有希望的藥物是血管加壓素,它是一種儲(chǔ)存與垂體后葉的激素,血管加壓素是一種強(qiáng)力的非腎上腺素性血管收縮劑,它能直接興奮平滑肌V1受體和/或增強(qiáng)血管對(duì)內(nèi)源性兒茶酚胺的敏感性,使內(nèi)臟、冠脈、肌肉及皮膚的血管收縮。血管加壓素

受體組織反應(yīng)V1a心、血管平滑肌加壓作用V1b腎上腺-垂體加壓作用V2腎、腎小管細(xì)胞抗利尿作用血管加壓素大劑量應(yīng)用時(shí)直接刺激平滑肌V1受體可使周圍血管平滑肌收縮。通過周圍血管收縮從而使血液灌注重新分配,有效地增加冠脈灌注壓、重要生命器官的血流量和氧輸送。因該藥沒有β—腎上腺素能樣活性,所以在心肺復(fù)蘇時(shí)不會(huì)增加心肌耗氧量。治療劑量為40IU,單次用藥。

胺碘酮

既往將利多卡因作為心肺復(fù)蘇的一線藥物,理論是利多卡因可以提高室顫閾值、預(yù)期能降低死亡率。但臨床試驗(yàn)結(jié)果卻恰恰相反,利多卡因組死亡率增加,所以新的心肺復(fù)蘇指南將胺碘酮列為一線藥物。胺碘酮胺碘酮作用機(jī)制復(fù)雜,即可影響鈉、鉀和鈣通道,又對(duì)α受體和β受體有阻滯作用,臨床一般用于房性和室性心律失常。使用胺碘酮的適應(yīng)證包括:(1)快速房性心律失常伴嚴(yán)重左室功能不全患者,使用洋地黃制劑無效時(shí),可嘗試用胺碘酮控制心室率。(2)用于心肺復(fù)蘇時(shí),如患者表現(xiàn)為持續(xù)性VT或VF,在電除顫和使用腎上腺素后,建議使用胺碘酮。(3)對(duì)血流動(dòng)力學(xué)穩(wěn)定的VT、多形性VT和不明起源的多種復(fù)雜心動(dòng)過速,推薦使用胺碘酮。(4)用于控制預(yù)激房性心律失常伴旁路傳導(dǎo)的快速心室率。

胺碘酮使用劑量:心肺復(fù)蘇時(shí)主要用于VF或無脈性VT,初始劑量為300mg溶于20~30ml生理鹽水或5%葡萄糖內(nèi)靜注。對(duì)血流動(dòng)力學(xué)不穩(wěn)定的VT或有反復(fù)或頑固性VF或VT患者,可考慮適當(dāng)增加劑量。如首次用藥300mg后再追加150mg,然后按1mg/min的速度持續(xù)泵入6小時(shí),再減量至0.5mg/min,每日最大劑量不超過2g。

胺碘酮用于心肺復(fù)蘇經(jīng)驗(yàn)尚少,需要進(jìn)一步觀察其療效。主要不良反應(yīng)是低血壓和心動(dòng)過緩,應(yīng)嚴(yán)密觀察,必要時(shí)減慢給藥速度。CPR標(biāo)準(zhǔn)用藥室顫:腎上腺素1mg,每3~5分鐘重復(fù)一次或血管加壓素40iu,單次用藥

+

胺碘酮300mg,每3~5分鐘重復(fù)150mg或利多卡因50~100mg,每3~5分鐘重復(fù)一次。CPR標(biāo)準(zhǔn)用藥心室停搏與電機(jī)械分離:

腎上腺素1mg,每3~5分鐘重復(fù)一次

+阿托品1mg,每3~5分鐘重復(fù)一次其他藥物多巴胺去甲腎上腺素的化學(xué)前體,其作用與劑量有關(guān)。小劑量興奮β-受體,增加心臟收縮力;大劑量興奮α受體,使外周血管收縮。心肺復(fù)蘇時(shí)主要用于自主心跳恢復(fù)后的血壓維持。

劑量:2-20μg/Kg/min靜脈滴注或注射泵持續(xù)泵入,根據(jù)血壓變化,調(diào)節(jié)至最佳劑量。其他藥物其他改善心功能藥物自主心跳恢復(fù)后,可根據(jù)情況給予強(qiáng)心藥物,如多巴酚丁胺,硝普鈉等,為加強(qiáng)心肌收縮力和提高心肌自律性,也可適當(dāng)使用鈣離子拮抗劑,但目前經(jīng)驗(yàn)尚少。CASE心跳呼吸驟停后的酸中毒應(yīng)如何處理?酸中毒問題心跳呼吸停止早期,二氧化碳呼出障礙,導(dǎo)致呼吸性酸中毒;如自主循環(huán)呼吸不能迅速恢復(fù),隨著時(shí)間的推移,組織酸性代謝產(chǎn)物堆積,發(fā)生代謝性酸中毒。碳酸氫鈉很長(zhǎng)時(shí)間以來一直作為心肺復(fù)蘇時(shí)的一線用藥,其用藥目的主要是糾正組織內(nèi)酸中毒。但現(xiàn)在的觀點(diǎn)認(rèn)為,在心跳呼吸驟停早期,主要是由于呼吸停止所繼發(fā)的呼吸性酸中毒,如過早給予碳酸氫鈉則可引起不利反應(yīng)。其原因主要為以下幾點(diǎn):

碳酸氫鈉1,短暫的堿中毒,使氧解離曲線左移,減少血紅蛋白中氧的釋放,加重組織的缺氧;2,電解質(zhì)平衡紊亂,降低游離鈣和非游離鈣之比,使血清中鉀離子進(jìn)入細(xì)胞內(nèi),誘發(fā)惡性心律失常,并產(chǎn)生高血鈉,增加血漿滲透壓;3,碳酸氫鈉本身可直接抑制心臟功能,降低兒茶酚胺的活性;4,碳酸氫鈉在體內(nèi)分解產(chǎn)生二氧化碳。碳酸氫鈉適應(yīng)癥:1,有效通氣及胸外心臟按壓10分鐘后PH值仍低于7.2;2,心跳驟停前即已存在代謝性酸中毒;3,伴有嚴(yán)重的高鉀血癥。糾正心跳呼吸驟停后酸中毒措施1,迅速有效的解除呼吸道梗阻,建立有效通氣。及時(shí)有效地進(jìn)行胸外按壓,使二氧化碳能夠經(jīng)彌散至肺并呼出;2,在機(jī)械通氣時(shí)可適當(dāng)過度通氣,以降低細(xì)胞內(nèi)二氧化碳分壓;3,搶救10分鐘后如血?dú)夥治鍪敬x性酸中毒存在,可適當(dāng)使用碳酸氫鈉??人訡PR咳嗽可產(chǎn)生>100Hg的中心主動(dòng)脈壓左房壓增加,但在咳嗽間期下降(以上兩點(diǎn)可使冠脈梯度增加)可維持意識(shí)清醒達(dá)93秒之久可使心動(dòng)過緩者動(dòng)脈壓增加產(chǎn)生接近正常的動(dòng)脈壓(80%頸動(dòng)脈血流)非同步直流電除顫對(duì)一個(gè)室顫患者來說,能否成功地被給予電除顫,使其存活,決定于從室顫發(fā)生到行首次電除顫治療的時(shí)間。除時(shí)間因素外,還要注意標(biāo)準(zhǔn)除顫器的使用,需選擇適當(dāng)?shù)哪芰?,以能產(chǎn)生足夠穿過心肌的電流,而達(dá)到除顫的效果,同時(shí)要盡量減少電流對(duì)心臟的損傷。成人體型與除顫所需能量間無明確關(guān)系,而經(jīng)胸電阻抗的大小卻起著重要作用。心跳驟停的分型依據(jù)心跳驟停后的心電圖變化,臨床上分為:1,室顫。大于90%。2,電-機(jī)械分離。3,心室停搏。搶救成功的決定因素

早期通路

早期CPR早期除顫早期ALS早期除顫的理由1,心跳驟停的最常見類型為室顫;2,治療室顫的最有效手段是電除顫;3,除顫的時(shí)機(jī)轉(zhuǎn)瞬即逝;4,室顫不予處理在數(shù)分鐘內(nèi)就會(huì)轉(zhuǎn)為心室停搏或電機(jī)械分離。除顫時(shí)間與搶救成功率時(shí)間(分)成功率(%)院前急救人員124消防隊(duì)員96警察<658賭場(chǎng)人員<374除顫時(shí)間與成功率Timeislife

時(shí)間每過一分鐘,轉(zhuǎn)復(fù)成功率將降低10%!自動(dòng)體外除顫器

AutomaticExternalDefibrillator,AED自動(dòng)分析心律雙功能電極片聲音與圖形提示自動(dòng)除顫AED

時(shí)間(分)成功率(%)院前急救人員124消防隊(duì)員96警察<658賭場(chǎng)人員<374AED操作程序第一步接通電源第二步安放電極第三步分析心律第四步電擊除顫第一次電擊后,先不要重新開始CPR,AED會(huì)手動(dòng)或自動(dòng)重新開始心律分析。若心律仍為室顫,AED儀會(huì)發(fā)出提示并自動(dòng)充電,后進(jìn)行第二次甚至第三次除顫。以3次除顫為1組的目的是盡快判別,并治療致死性心律失常。完成1組3次的除顫后,儀器會(huì)自動(dòng)停止1分鐘,以便再進(jìn)行CPR。因此,3次除顫后,應(yīng)檢查患者的循環(huán)并進(jìn)行1分鐘的胸外按壓和人工呼吸。AED今后發(fā)展方向:安全、有效體積小、重量小價(jià)格便宜自動(dòng)記錄操作簡(jiǎn)便,易于掌握售后服務(wù)好除顫能量AHA推薦標(biāo)準(zhǔn):Bing200JBang300JBoom360J除顫能量

關(guān)于電除顫的理想能量仍無定論,但有一點(diǎn)是確定的,能量越小對(duì)心肌的損害也越小,據(jù)報(bào)道,復(fù)蘇后心功能不全與電除顫能量有直接關(guān)系。如能量超過400焦耳病人就可能發(fā)生輕微心肌壞死,目前臨床上掌握在200-400焦耳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論