国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python數(shù)據(jù)分析與應(yīng)用 |第4章 使用pandas進(jìn)行數(shù)據(jù)預(yù)處理 (實(shí)訓(xùn))

這篇具有很好參考價(jià)值的文章主要介紹了Python數(shù)據(jù)分析與應(yīng)用 |第4章 使用pandas進(jìn)行數(shù)據(jù)預(yù)處理 (實(shí)訓(xùn))。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

表1-1healthcare-dataset-stroke.xlsx 部分中風(fēng)患者的基礎(chǔ)信息和體檢數(shù)據(jù)

編號 性別 高血壓 是否結(jié)婚 工作類型 居住類型 體重指數(shù) 吸煙史 中風(fēng)
9046 私人 城市 36.6 以前吸煙
51676 私營企業(yè) 農(nóng)村 N/A 從不吸煙
31112 私人 農(nóng)村 32.5 從不吸煙
60182 私人 城市 34.4 抽煙
1665 私營企業(yè) 農(nóng)村 24 從不吸煙
56669 私人 城市 29 以前吸煙
53882 私人 農(nóng)村 27.4 從不吸煙

表二?healthcare-dataset-age-abs.xlsx 部分中風(fēng)患者的年齡和平均血糖數(shù)據(jù)

編號 年齡 平均血糖
9046 67 228.69
51676 61 202.21
31112 80 105.92
60182 49 171.23
1665 79 174.12
56669 81 186.21
53882 74 70.09
10434 69 94.39
27419 59 76.15
60491 78 58.57

實(shí)訓(xùn)1 合并年齡、平均血糖和中風(fēng)患者信息數(shù)據(jù)

1、訓(xùn)練要點(diǎn)

(1) 掌握判斷主鍵的方法

(2) 掌握主鍵合并方法

2、需求分析

某醫(yī)院為了早期監(jiān)測預(yù)警患者的中風(fēng)風(fēng)險(xiǎn),對現(xiàn)有中風(fēng)患者的基礎(chǔ)信息和體檢數(shù)據(jù)(healthcare-dataset-stroke.xls)進(jìn)行分析,觀察發(fā)現(xiàn)患者基礎(chǔ)信息和體檢數(shù)據(jù)中缺少中風(fēng)患者的年齡和平均血糖的信息。另有年齡和平均血糖數(shù)據(jù)(healthcare-dataset-age_abs.xls)存放了分析所需的患者的年齡和平均血糖信息。

(1)讀取兩個數(shù)據(jù)文件,打印前5行結(jié)果進(jìn)行顯示。

# 合并年齡、平均血糖和中風(fēng)患者數(shù)據(jù)
import pandas as pd
df1 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx')
df2 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')

#(1)讀取兩個數(shù)據(jù)文件,打印前5行結(jié)果進(jìn)行顯示。
print("healthcare-dataset-stroke.xls前5行:")
print(df1.head(5))
print("----------------------------------------")
print("healthcare-dataset-age_abs.xls前5行:")
print(df2.head(5))

Python數(shù)據(jù)分析與應(yīng)用 |第4章 使用pandas進(jìn)行數(shù)據(jù)預(yù)處理 (實(shí)訓(xùn)),Python,數(shù)據(jù)挖掘,數(shù)據(jù)分析

(2)利用concat函數(shù)進(jìn)行縱向堆疊,展示‘內(nèi)連接‘、‘外連接’的拼接結(jié)果(前5行即可)。

# 使用concat函數(shù)進(jìn)行縱向堆疊
import pandas as pd
df1 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx')
df2 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')

# 外連接
df_concat = pd.concat([df1, df2], axis=0, join='outer')
print("縱向堆疊結(jié)果前5行(外連接):")
print(df_concat.head(5))

# 內(nèi)連接
df_concat = pd.concat([df1, df2], axis=0, join='inner')
print("縱向堆疊結(jié)果前5行(內(nèi)連接):")
print(df_concat.head(5))

Python數(shù)據(jù)分析與應(yīng)用 |第4章 使用pandas進(jìn)行數(shù)據(jù)預(yù)處理 (實(shí)訓(xùn)),Python,數(shù)據(jù)挖掘,數(shù)據(jù)分析

(3)對兩個數(shù)據(jù)利用‘編號’列作為主鍵進(jìn)行合并,展示合并結(jié)果(前5行即可)

# 使用'編號'列作為主鍵進(jìn)行合并
import pandas as pd
df1 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx')
df2 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')

df_merge = pd.merge(df1, df2, on='編號', how='inner')
print("合并結(jié)果前5行:")
print(df_merge.head(5))

Python數(shù)據(jù)分析與應(yīng)用 |第4章 使用pandas進(jìn)行數(shù)據(jù)預(yù)處理 (實(shí)訓(xùn)),Python,數(shù)據(jù)挖掘,數(shù)據(jù)分析

實(shí)訓(xùn)2?對表格數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗。

需求說明:

基于1中的數(shù)據(jù)

(1)對于表格healthcare-dataset-stroke.xls的信息,使用duplicates函數(shù)對‘工作類型’、‘吸煙史’兩列數(shù)據(jù)進(jìn)行特征去重。

# 對于表格healthcare-dataset-stroke.xls的信息,使用duplicates函數(shù)對‘工作類型’、‘吸煙史’兩列數(shù)據(jù)進(jìn)行特征去重
import pandas as pd
# 讀取數(shù)據(jù)
df = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx')
# 對'工作類型'和'吸煙史'列進(jìn)行去重
df = df.drop_duplicates(subset=['工作類型', '吸煙史'])
# 打印結(jié)果
print(df)

(2)對于表格healthcare-dataset-age_abs.xls的信息,對‘年齡’、‘平均血糖’兩列數(shù)據(jù),使用sum及isnull函數(shù)判斷及統(tǒng)計(jì)缺失值。

# 對于表格healthcare-dataset-age_abs.xls的信息,對‘年齡’、‘平均血糖’兩列數(shù)據(jù),使用sum及isnull函數(shù)判斷及統(tǒng)計(jì)缺失值。
import pandas as pd

# 讀取數(shù)據(jù)
df = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')
# 判斷是否有缺失值
missing_values = df.isnull()
# 統(tǒng)計(jì)缺失值的個數(shù)
missing_count = missing_values.sum()
# 打印結(jié)果
print("缺失值統(tǒng)計(jì):")
print(missing_count)

(3)對‘年齡’列的數(shù)據(jù)使用均值替換其缺失值;對‘平均血糖’列數(shù)據(jù)使用3階多項(xiàng)式進(jìn)行插值。

# (3)	對‘年齡’列的數(shù)據(jù)使用均值替換其缺失值;對‘平均血糖’列數(shù)據(jù)使用3階多項(xiàng)式進(jìn)行插值。
import pandas as pd
import numpy as np

# 讀取數(shù)據(jù)
df = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')

# 計(jì)算年齡的均值
mean_age = df['年齡'].mean()

# 使用均值替換年齡列的缺失值
df['年齡'] = df['年齡'].fillna(mean_age)

# 對平均血糖列進(jìn)行3階多項(xiàng)式插值
df['平均血糖'] = df['平均血糖'].interpolate(method='polynomial', order=3)

# 打印結(jié)果
print(df)

(4)使用3δPython數(shù)據(jù)分析與應(yīng)用 |第4章 使用pandas進(jìn)行數(shù)據(jù)預(yù)處理 (實(shí)訓(xùn)),Python,數(shù)據(jù)挖掘,數(shù)據(jù)分析原則判斷‘年齡’、‘平均血糖’兩列數(shù)據(jù)中是否存在異常值及異常值的個數(shù)。

import pandas as pd
import numpy as np

# 讀取數(shù)據(jù)
df = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')

# 計(jì)算年齡和平均血糖的均值和標(biāo)準(zhǔn)差
mean_age = df['年齡'].mean()
std_age = df['年齡'].std()
mean_glucose = df['平均血糖'].mean()
std_glucose = df['平均血糖'].std()

# 使用3δ原則判斷是否存在異常值
outliers_age = (np.abs(df['年齡'] - mean_age) > 3 * std_age)
outliers_glucose = (np.abs(df['平均血糖'] - mean_glucose) > 3 * std_glucose)

# 統(tǒng)計(jì)異常值的個數(shù)
num_outliers_age = outliers_age.sum()
num_outliers_glucose = outliers_glucose.sum()

# 打印結(jié)果
print("年齡異常值個數(shù):", num_outliers_age)
print("平均血糖異常值個數(shù):", num_outliers_glucose)

實(shí)訓(xùn) 3?基于healthcare-dataset-age_abs.xls中的‘平均血糖’列數(shù)據(jù),(1)使用離差標(biāo)準(zhǔn)化、標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化、小數(shù)定標(biāo)標(biāo)準(zhǔn)化進(jìn)行標(biāo)準(zhǔn)化處理。

需求分析:

(1)使用離差標(biāo)準(zhǔn)化 進(jìn)行標(biāo)準(zhǔn)化處理

import pandas as pd
# 讀取數(shù)據(jù)
df = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')
# 離差標(biāo)準(zhǔn)化
df['平均血糖_離差標(biāo)準(zhǔn)化'] = (df['平均血糖'] - df['平均血糖'].min()) / (df['平均血糖'].max() - df['平均血糖'].min())
print(df)

(2)使用標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化進(jìn)行標(biāo)準(zhǔn)化處理

# 標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化
import pandas as pd
# 讀取數(shù)據(jù)
df = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')
df['平均血糖_標(biāo)準(zhǔn)差標(biāo)準(zhǔn)化'] = (df['平均血糖'] - df['平均血糖'].mean()) / df['平均血糖'].std()
print(df)

(3)使用小數(shù)定標(biāo)標(biāo)準(zhǔn)化進(jìn)行標(biāo)準(zhǔn)化處理。

import pandas as pd

# 讀取數(shù)據(jù)
df = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')

# 使用0填充缺失值
df['平均血糖'] = df['平均血糖'].fillna(0)

# 小數(shù)定標(biāo)標(biāo)準(zhǔn)化
df['平均血糖_小數(shù)定標(biāo)標(biāo)準(zhǔn)化'] = df['平均血糖'] / (10 ** (df['平均血糖'].apply(lambda x: len(str(abs(int(x))))) - 1))

# 打印結(jié)果
print(df)

實(shí)訓(xùn)4?對表healthcare-dataset-stroke.xls中‘吸煙史’的類別型數(shù)據(jù)進(jìn)行啞變量處理,轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。

需求說明:

????? (1)對表healthcare-dataset-stroke.xls中‘吸煙史’的類別型數(shù)據(jù)進(jìn)行啞變量處理,轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。

import pandas as pd

# 讀取數(shù)據(jù)
df1 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx')


# 啞變量處理
df1_dummies = pd.get_dummies(df1['吸煙史'], prefix='吸煙史')

print(df1_dummies)

(2)對表healthcare-dataset-age_abs.xls中‘年齡’數(shù)據(jù)使用等寬法、等頻法進(jìn)行離散化,劃分為5類區(qū)間。文章來源地址http://www.zghlxwxcb.cn/news/detail-856267.html

import pandas as pd
df2 = pd.read_excel('C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx')

# 等寬法離散化
df2['年齡_等寬法'] = pd.cut(df2['年齡'], bins=5, labels=False)

# 等頻法離散化
df2['年齡_等頻法'] = pd.qcut(df2['年齡'], q=5, labels=False)

print(df2[['年齡', '年齡_等寬法', '年齡_等頻法']])

到了這里,關(guān)于Python數(shù)據(jù)分析與應(yīng)用 |第4章 使用pandas進(jìn)行數(shù)據(jù)預(yù)處理 (實(shí)訓(xùn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用Pandas進(jìn)行數(shù)據(jù)處理和分析的入門指南

    摘要:本文將介紹如何使用Python的Pandas庫進(jìn)行數(shù)據(jù)處理和分析,包括數(shù)據(jù)導(dǎo)入、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換和簡單分析等方面的內(nèi)容。 在數(shù)據(jù)科學(xué)和數(shù)據(jù)分析領(lǐng)域,數(shù)據(jù)處理是一個關(guān)鍵的步驟。Python的Pandas庫提供了強(qiáng)大且易于使用的工具,使數(shù)據(jù)處理變得簡單和高效。本文將引導(dǎo)您

    2024年02月10日
    瀏覽(24)
  • Python數(shù)據(jù)分析之Pandas核心使用進(jìn)階

    在Pandas中,有兩種常見的方法可以進(jìn)行DataFrame的行級遍歷:使用 iterrows() 和使用 iteritems() 。 使用 iterrows() 方法: iterrows() 方法返回一個迭代器,可以按行遍歷DataFrame。每次迭代返回一個包含行索引和該行數(shù)據(jù)的元組。 輸出結(jié)果為: 在上面的例子中,我們使用 iterrows() 方法遍

    2024年02月11日
    瀏覽(20)
  • 《Python數(shù)據(jù)分析技術(shù)?!返?6章使用 Pandas 準(zhǔn)備數(shù)據(jù) 01 Pandas概覽(Pandas at a glance)

    《Python數(shù)據(jù)分析技術(shù)棧》第06章使用 Pandas 準(zhǔn)備數(shù)據(jù) 01 Pandas概覽(Pandas at a glance) Wes McKinney developed the Pandas library in 2008. The name (Pandas) comes from the term “Panel Data” used in econometrics for analyzing time-series data. Pandas has many features, listed in the following, that make it a popular tool for data wrang

    2024年01月23日
    瀏覽(24)
  • 《Python數(shù)據(jù)分析技術(shù)?!返?6章使用 Pandas 準(zhǔn)備數(shù)據(jù) 11 pandas中的運(yùn)算符 Operators in Pandas

    《Python數(shù)據(jù)分析技術(shù)?!返?6章使用 Pandas 準(zhǔn)備數(shù)據(jù) 11 pandas中的運(yùn)算符 Operators in Pandas Pandas uses the following operators that can be applied to a whole series. While Python would require a loop to iterate through every element in a list or dictionary, Pandas takes advantage of the feature of vectorization implemented in NumPy that

    2024年01月23日
    瀏覽(25)
  • Python數(shù)據(jù)分析:NumPy、Pandas和Matplotlib的使用和實(shí)踐

    Python數(shù)據(jù)分析:NumPy、Pandas和Matplotlib的使用和實(shí)踐

    在現(xiàn)代數(shù)據(jù)分析領(lǐng)域中,Python已成為最受歡迎的編程語言之一。Python通過龐大的社區(qū)和出色的庫支持,成為了數(shù)據(jù)科學(xué)家和分析師的首選語言。在Python的庫中,NumPy、Pandas和Matplotlib是三個最為重要的庫,它們分別用于處理數(shù)值數(shù)組、數(shù)據(jù)處理和可視化。本文將介紹這三個庫的

    2024年02月04日
    瀏覽(29)
  • 使用Python進(jìn)行數(shù)據(jù)分析——方差分析

    使用Python進(jìn)行數(shù)據(jù)分析——方差分析

    大家好,方差分析可以用來判斷幾組觀察到的數(shù)據(jù)或者處理的結(jié)果是否存在顯著差異。本文介紹的方差分析(Analysis of Variance,簡稱ANOVA)就是用于檢驗(yàn)兩組或者兩組以上樣本的均值是否具備顯著性差異的一種數(shù)理統(tǒng)計(jì)方法。 根據(jù)影響試驗(yàn)條件的因素個數(shù)可以將方差分析分為

    2024年02月15日
    瀏覽(25)
  • 使用Python進(jìn)行數(shù)據(jù)分析——線性回歸分析

    使用Python進(jìn)行數(shù)據(jù)分析——線性回歸分析

    大家好,線性回歸是確定兩種或兩種以上變量之間互相依賴的定量關(guān)系的一種統(tǒng)計(jì)分析方法。根據(jù)自變量的個數(shù),可以將線性回歸分為一元線性回歸和多元線性回歸分析。 一元線性回歸:就是只包含一個自變量,且該自變量與因變量之間的關(guān)系是線性關(guān)系。例如通過廣告費(fèi)這

    2023年04月10日
    瀏覽(40)
  • 使用Python批量進(jìn)行數(shù)據(jù)分析

    使用Python批量進(jìn)行數(shù)據(jù)分析

    知識延伸 1、sort_value()是pandas模塊中DataFrame對象的函數(shù),用于將數(shù)據(jù)區(qū)域按照某個字段的數(shù)據(jù)進(jìn)行排序,這個字段可以是行字段,也可以是列字段。 語法格式: sort_value(by=\\\'##\\\',axis=0,ascending=True,inplace=False,na_position=\\\'last\\\') 參數(shù) 說明 by 要排序的列名或索引值 axis 如果省略或者為

    2024年02月10日
    瀏覽(25)
  • 如何使用Python進(jìn)行數(shù)據(jù)分析?

    要使用Python進(jìn)行數(shù)據(jù)分析,可以按照以下步驟進(jìn)行: 安裝Python:首先,你需要安裝Python解釋器??梢詮腜ython官方網(wǎng)站下載并安裝適合你操作系統(tǒng)的Python版本。 安裝數(shù)據(jù)分析庫:Python有許多強(qiáng)大的數(shù)據(jù)分析庫,如NumPy、Pandas和Matplotlib。使用pip命令或包管理工具安裝這些庫。 導(dǎo)

    2024年02月10日
    瀏覽(21)
  • Python中List類型數(shù)據(jù)結(jié)構(gòu)廣泛應(yīng)用于各種場景中。然而,在數(shù)據(jù)分析和可視化過程中,經(jīng)常需要將List轉(zhuǎn)換為Pandas的DataFrame對象。那么如何將...

    Python中List類型數(shù)據(jù)結(jié)構(gòu)廣泛應(yīng)用于各種場景中。然而,在數(shù)據(jù)分析和可視化過程中,經(jīng)常需要將List轉(zhuǎn)換為Pandas的DataFrame對象。那么如何將List轉(zhuǎn)換為DataFrame對象呢?本文將介紹如何使用Python中Pandas庫將List轉(zhuǎn)換為DataFrame,并進(jìn)一步將其轉(zhuǎn)換為字符串。 將Python List轉(zhuǎn)換為Pandas D

    2024年02月15日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包