中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

國內(nèi)做批發(fā)的網(wǎng)站百度醫(yī)生在線問診

國內(nèi)做批發(fā)的網(wǎng)站,百度醫(yī)生在線問診,Javascript和爬蟲做網(wǎng)站,最大的外包公司有哪些接上篇《60、Pandas中DataFrame對(duì)象的操作(一)》 上一篇我們講解了DataFrame對(duì)象的簡介、基本操作及數(shù)據(jù)清洗相關(guān)的內(nèi)容。本篇我們來繼續(xù)講解DataFrame對(duì)象的統(tǒng)計(jì)分析、可視化以及數(shù)據(jù)導(dǎo)出與保存相關(guān)內(nèi)容。 一、DataFrame的統(tǒng)計(jì)分析 在數(shù)據(jù)分析和處理中…

接上篇《60、Pandas中DataFrame對(duì)象的操作(一)》
上一篇我們講解了DataFrame對(duì)象的簡介、基本操作及數(shù)據(jù)清洗相關(guān)的內(nèi)容。本篇我們來繼續(xù)講解DataFrame對(duì)象的統(tǒng)計(jì)分析、可視化以及數(shù)據(jù)導(dǎo)出與保存相關(guān)內(nèi)容。

一、DataFrame的統(tǒng)計(jì)分析

在數(shù)據(jù)分析和處理中,Pandas的DataFrame提供了強(qiáng)大的統(tǒng)計(jì)分析功能,幫助我們深入理解數(shù)據(jù)的分布、趨勢(shì)和特征。以下將詳細(xì)介紹描述性統(tǒng)計(jì)、分組聚合以及數(shù)據(jù)透視表等關(guān)鍵功能。

1、描述性統(tǒng)計(jì)

描述性統(tǒng)計(jì)是數(shù)據(jù)分析的第一步,它通過計(jì)算一系列統(tǒng)計(jì)量來概括數(shù)據(jù)的中心趨勢(shì)、離散程度和分布形態(tài)。在Pandas中,我們可以輕松地對(duì)DataFrame中的數(shù)值列進(jìn)行描述性統(tǒng)計(jì)分析。

●計(jì)算均值(Mean):均值是所有觀測(cè)值的算術(shù)平均值,能夠反映數(shù)據(jù)的中心位置。使用.mean()方法計(jì)算DataFrame中所有數(shù)值列的均值,或者通過指定列名來計(jì)算特定列的均值。
●計(jì)算中位數(shù)(Median):中位數(shù)是將一組數(shù)據(jù)從小到大排列后,位于中間位置的數(shù)。當(dāng)數(shù)據(jù)中存在極端值時(shí),中位數(shù)比均值更能反映數(shù)據(jù)的中心趨勢(shì)。使用.median()方法計(jì)算中位數(shù)。
●計(jì)算眾數(shù)(Mode):眾數(shù)是數(shù)據(jù)集中出現(xiàn)次數(shù)最多的數(shù)。Pandas的DataFrame沒有直接的.mode()方法來計(jì)算眾數(shù),但可以使用scipy.stats.mode或pandas.Series.mode()(對(duì)于Series)來實(shí)現(xiàn)。對(duì)于DataFrame,通常需要先選擇一列,然后應(yīng)用此方法。
●計(jì)算標(biāo)準(zhǔn)差(Standard Deviation):標(biāo)準(zhǔn)差是衡量數(shù)據(jù)離散程度的一種指標(biāo),表示數(shù)據(jù)點(diǎn)與均值的平均距離。使用.std()方法計(jì)算標(biāo)準(zhǔn)差。

# 示例代碼 ?
import pandas as pd
import numpy as np# 創(chuàng)建一個(gè)包含不同類型數(shù)據(jù)的表
data = {'編號(hào)': [1, 2, 3, 4, 5, 6],'姓名': ['張三', '李四', '王五', '趙六', '孫七', '李雷'],'年齡': [25, 30, 28, 22, 35, 25],'薪資': [50000, 60000, 70000, 80000, 40000, 50000],'入職日期': ['2020-01-01', '2021-02-15', '2022-03-01', '2021-04-15', '2020-05-01', '2020-01-01'], ?# 日期時(shí)間字符串'類別': ['A', 'B', 'A', 'C', 'C', 'A'] ?# 分類數(shù)據(jù)
}# 將數(shù)據(jù)字典轉(zhuǎn)換為DataFrame
df = pd.DataFrame(data)print("薪資列均值:", df['薪資'].mean())
print("年齡中位數(shù):", df['年齡'].median())
# 對(duì)于眾數(shù),需要先選擇一列
mode_val = df['類別'].mode()[0]
print("類別眾數(shù):", mode_val)
print("薪資標(biāo)準(zhǔn)差", df['薪資'].std())

測(cè)試結(jié)果:

2、分組聚合

分組聚合是數(shù)據(jù)分析中常用的技術(shù),它允許我們將數(shù)據(jù)按照一個(gè)或多個(gè)鍵進(jìn)行分組,然后對(duì)每個(gè)組應(yīng)用聚合函數(shù)來計(jì)算統(tǒng)計(jì)量。

●使用groupby()方法進(jìn)行分組:groupby()方法根據(jù)一個(gè)或多個(gè)列的值將數(shù)據(jù)分成多個(gè)組。分組后,可以使用聚合函數(shù)對(duì)每組數(shù)據(jù)進(jìn)行操作。
●聚合函數(shù):Pandas提供了多種聚合函數(shù),如sum()(求和)、mean()(均值)、count()(計(jì)數(shù))、max()(最大值)、min()(最小值)等。這些函數(shù)可以直接應(yīng)用于groupby()的結(jié)果上。

# 分組求和
grouped_sum = df.groupby('類別').sum()
print("分組求和(薪資為例):")
print(grouped_sum[['薪資']])# 分組計(jì)算均值,僅對(duì)數(shù)值列操作
numeric_cols = ['年齡', '薪資'] ?# 指定要計(jì)算的數(shù)值列
grouped_mean = df.groupby('類別')[numeric_cols].mean()print("分組計(jì)算均值(薪資和年齡為例):")
print(grouped_mean)

測(cè)試結(jié)果:

3、數(shù)據(jù)透視表

數(shù)據(jù)透視表是一種強(qiáng)大的數(shù)據(jù)分析工具,它能夠以表格的形式展示數(shù)據(jù)的分組匯總信息,便于進(jìn)行數(shù)據(jù)的比較和分析。使用pivot_table()方法創(chuàng)建數(shù)據(jù)透視表:pivot_table()方法能夠根據(jù)一個(gè)或多個(gè)鍵對(duì)數(shù)據(jù)進(jìn)行分組,并對(duì)每個(gè)組應(yīng)用聚合函數(shù)來計(jì)算統(tǒng)計(jì)量。與groupby()相比,pivot_table()提供了更靈活的布局選項(xiàng),如指定行索引、列索引和值。

# 示例代碼 ?
# 創(chuàng)建一個(gè)示例DataFrame
data2 = {'產(chǎn)品': ['蘋果', '香蕉', '蘋果', '橙子', '香蕉', '蘋果', '橙子', '香蕉'],'地區(qū)': ['北方', '南方', '北方', '北方', '南方', '南方', '南方', '北方'],'銷售量': [50, 60, 70, 80, 90, 100, 110, 120],'銷售額': [250, 300, 350, 400, 450, 500, 550, 600]
}df = pd.DataFrame(data2)# 打印原始DataFrame
print("原始DataFrame:")
print(df)# 創(chuàng)建數(shù)據(jù)透視表
# 索引為'產(chǎn)品',列為'地區(qū)',聚合函數(shù)為sum(對(duì)銷售量和銷售額進(jìn)行求和)
pivot_table = pd.pivot_table(df, values=['銷售量', '銷售額'], index=['產(chǎn)品'], columns=['地區(qū)'], aggfunc='sum')# 打印數(shù)據(jù)透視表
print("\n數(shù)據(jù)透視表:")
print(pivot_table)

測(cè)試效果:

在上面的代碼中,values參數(shù)指定了要匯總的列,index參數(shù)指定了行索引列,columns參數(shù)指定了列索引列,aggfunc參數(shù)指定了聚合函數(shù)。通過這種方式,我們可以輕松地創(chuàng)建出復(fù)雜的數(shù)據(jù)透視表,以滿足不同的數(shù)據(jù)分析需求。

二、DataFrame的可視化

在數(shù)據(jù)分析和數(shù)據(jù)科學(xué)領(lǐng)域,數(shù)據(jù)可視化是理解數(shù)據(jù)分布、趨勢(shì)和關(guān)系的關(guān)鍵步驟。Pandas庫雖然主要聚焦于數(shù)據(jù)處理,但它與強(qiáng)大的可視化庫(如Matplotlib和Seaborn)的無縫集成,使得從數(shù)據(jù)處理到數(shù)據(jù)可視化的流程變得極為順暢。以下將詳細(xì)介紹如何使用Pandas結(jié)合Matplotlib和Seaborn庫進(jìn)行DataFrame的可視化。

1、整合Matplotlib進(jìn)行繪圖

Matplotlib是Python中最基礎(chǔ)且廣泛使用的繪圖庫之一,它提供了大量的繪圖功能,能夠生成出版級(jí)別的圖表。Pandas的DataFrame和Series對(duì)象可以直接與Matplotlib集成,方便地將數(shù)據(jù)轉(zhuǎn)換為圖形。

(1)繪制柱狀圖

柱狀圖是展示分類數(shù)據(jù)(如不同類別的銷售量)的一種直觀方式。

import pandas as pd
import matplotlib.pyplot as plt# 示例數(shù)據(jù)
data = {'產(chǎn)品': ['蘋果', '香蕉', '橙子'], '銷售量': [100, 150, 120]}
df = pd.DataFrame(data)# 設(shè)置Matplotlib支持中文
plt.rcParams['font.sans-serif'] = ['SimHei'] ?# 設(shè)置為黑體
plt.rcParams['axes.unicode_minus'] = False ?# 解決保存圖像時(shí)負(fù)號(hào)'-'顯示為方塊的問題# 繪制柱狀圖
df.plot(kind='bar', x='產(chǎn)品', y='銷售量')
plt.title('產(chǎn)品銷售量')
plt.xlabel('產(chǎn)品')
plt.ylabel('銷售量')
plt.show()

測(cè)試效果:

(2)繪制折線圖

折線圖常用于展示時(shí)間序列數(shù)據(jù)或連續(xù)變量的變化趨勢(shì)。

# 假設(shè)我們有時(shí)間序列數(shù)據(jù) ?
data = {'日期': ['2023-01', '2023-02', '2023-03'], '銷售額': [200, 250, 300]} ?
df = pd.DataFrame(data) ?
df['日期'] = pd.to_datetime(df['日期']) ?# 確保日期是datetime類型 ?# 繪制折線圖 ?
df.plot(kind='line', x='日期', y='銷售額') ?
plt.title('銷售額變化趨勢(shì)') ?
plt.xlabel('日期') ?
plt.ylabel('銷售額') ?
plt.xticks(rotation=45) ?# 旋轉(zhuǎn)x軸標(biāo)簽以便閱讀 ?
plt.show()

測(cè)試效果:

(3)繪制餅圖

餅圖用于展示各部分在整體中的比例。

# 使用之前的銷售數(shù)據(jù) ?
df.plot(kind='pie', y='銷售量', labels=df['產(chǎn)品'], autopct='%1.1f%%') ?
plt.title('產(chǎn)品銷售量比例') ?
plt.ylabel('') ?# 餅圖通常不需要y軸標(biāo)簽 ?
plt.show()

測(cè)試效果:

2、使用Seaborn庫進(jìn)行更高級(jí)的可視化

Seaborn是基于Matplotlib的高級(jí)繪圖庫,它提供了更多的繪圖功能和更美觀的默認(rèn)樣式,與Pandas的集成也非常方便。
Seaborn能夠自動(dòng)處理Pandas DataFrame的索引和列名,使得繪圖過程更加簡潔。同時(shí),Seaborn提供了多種類型的圖表,如散點(diǎn)圖、箱型圖、熱力圖等,以及用于統(tǒng)計(jì)分析和數(shù)據(jù)探索的功能。

(1)散點(diǎn)圖

散點(diǎn)圖用于展示兩個(gè)變量之間的關(guān)系。

import seaborn as sns ?# 假設(shè)我們有兩個(gè)變量 ?
data = {'體重': [50, 60, 70, 80, 90], '身高': [160, 170, 180, 190, 200]} ?
df = pd.DataFrame(data) ?# 繪制散點(diǎn)圖 ?
sns.scatterplot(x='身高', y='體重', data=df) ?
plt.title('身高與體重的關(guān)系') ?
plt.show()

測(cè)試結(jié)果:

(2)箱型圖

箱型圖用于展示數(shù)據(jù)的分布,包括中位數(shù)、四分位數(shù)、異常值等。

# 使用之前的銷售數(shù)據(jù) ?
sns.boxplot(x='產(chǎn)品', y='銷售量', data=df) ?
plt.title('產(chǎn)品銷售量的分布情況') ?
plt.show()

測(cè)試結(jié)果:

(3)熱力圖

熱力圖用于展示矩陣數(shù)據(jù)中的數(shù)值大小,常用于展示相關(guān)性矩陣或頻率矩陣。

# 繪制熱力圖
# 創(chuàng)建數(shù)據(jù)集
data = {'助攻數(shù)': [4, 5, 5, 6, 7, 8, 8, 10],'籃板數(shù)': [12, 14, 13, 7, 8, 8, 9, 13],'得分': [22, 24, 26, 26, 29, 32, 20, 14]}
df = pd.DataFrame(data)# 計(jì)算相關(guān)矩陣
corr_matrix = df.corr()# 顯示結(jié)果,保留三位小數(shù)
print(corr_matrix.round(3))# 繪制熱力圖
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
plt.show()

測(cè)試結(jié)果:

通過以上示例,我們可以看到Pandas結(jié)合Matplotlib和Seaborn庫能夠輕松實(shí)現(xiàn)DataFrame的可視化,無論是基礎(chǔ)的圖表類型還是更高級(jí)的數(shù)據(jù)可視化需求,都能輕松展示。

三、DataFrame的導(dǎo)出與保存

1、導(dǎo)出為CSV文件

CSV(Comma-Separated Values)是一種常用的文本文件格式,用于存儲(chǔ)表格數(shù)據(jù),包括數(shù)字、文本等。Pandas提供了to_csv()方法,可以方便地將DataFrame導(dǎo)出為CSV文件?!窕居梅?#xff1a;

import pandas as pd# 創(chuàng)建一個(gè)包含不同類型數(shù)據(jù)的表
data = {'編號(hào)': [1, 2, 3, 4, 5, 6],'姓名': ['張三', '李四', '王五', '趙六', '孫七', '李雷'],'年齡': [25, 30, 28, 22, 35, 25],'薪資': [50000, 60000, 70000, 80000, 40000, 50000],'入職日期': ['2020-01-01', '2021-02-15', '2022-03-01', '2021-04-15', '2020-05-01', '2020-01-01'], ?# 日期時(shí)間字符串'類別': ['A', 'B', 'A', 'C', 'C', 'A'] ?# 分類數(shù)據(jù)
}# 將數(shù)據(jù)字典轉(zhuǎn)換為DataFrame
df = pd.DataFrame(data)df.to_csv('data.csv', index=False) ?# index=False表示不保存行索引

●高級(jí)選項(xiàng):

sep:指定字段分隔符,默認(rèn)為逗號(hào),。
encoding:指定文件的編碼格式,如utf-8。
columns:指定要導(dǎo)出的列,通過列名列表實(shí)現(xiàn)。
header:是否寫入列名作為文件頭部,默認(rèn)為True。

效果:

2、導(dǎo)出為Excel文件

Excel文件因其良好的兼容性和用戶友好的界面,在數(shù)據(jù)分析領(lǐng)域廣受歡迎。Pandas通過to_excel()方法支持將DataFrame導(dǎo)出為Excel文件,但需要注意的是,這要求安裝了openpyxl或xlwt庫作為引擎。

●安裝必要的庫(如果尚未安裝):

pip install openpyxl

●基本用法:

df.to_excel('data.xlsx', index=False, engine='openpyxl')

●高級(jí)選項(xiàng):

sheet_name:指定工作表名,默認(rèn)為'Sheet1'。
startrow和startcol:指定開始寫入的行和列(從0開始計(jì)數(shù))。
float_format:浮點(diǎn)數(shù)的格式化字符串,如'%.2f'表示保留兩位小數(shù)。

測(cè)試效果:

3、導(dǎo)出為其他格式(可選)

Pandas不僅限于導(dǎo)出為CSV和Excel文件,還支持多種其他格式,如SQL數(shù)據(jù)庫、JSON文件等,這為數(shù)據(jù)分析師提供了極大的靈活性。

●導(dǎo)出到SQL數(shù)據(jù)庫:
使用to_sql()方法可以將DataFrame直接保存到SQL數(shù)據(jù)庫中。這需要先安裝數(shù)據(jù)庫連接庫(如sqlalchemy和相應(yīng)的數(shù)據(jù)庫驅(qū)動(dòng))。

from sqlalchemy import create_engine ?# 創(chuàng)建數(shù)據(jù)庫連接引擎 ?
engine = create_engine('sqlite:///mydatabase.db') ?# 將DataFrame保存到SQL表 ?
df.to_sql('tablename', con=engine, if_exists='replace', index=False)

●導(dǎo)出為JSON文件:
JSON格式因其輕量級(jí)和易于閱讀的特性,在Web開發(fā)中廣泛應(yīng)用。Pandas的to_json()方法可以將DataFrame轉(zhuǎn)換為JSON格式的字符串或文件。

# 導(dǎo)出為JSON字符串
json_str = df.to_json(orient='records')# 或直接寫入文件
df.to_json('data.json', orient='records', lines=True)

orient參數(shù)控制JSON對(duì)象的結(jié)構(gòu),常見的選項(xiàng)有'split', 'records', 'index', 'columns', 'values', 和 'table'。

測(cè)試效果:

至此,關(guān)于DataFrame對(duì)象的統(tǒng)計(jì)分析、可視化以及數(shù)據(jù)導(dǎo)出與保存相關(guān)內(nèi)容已介紹完畢,下一篇我們來講解DataFrame對(duì)象的案例實(shí)踐。

轉(zhuǎn)載請(qǐng)注明出處:https://guangzai.blog.csdn.net/article/details/140753857

http://www.risenshineclean.com/news/32701.html

相關(guān)文章:

  • 網(wǎng)站集約化建設(shè)紀(jì)要網(wǎng)站案例分析
  • wordpress關(guān)注微信登陸廈門seo總部電話
  • 開發(fā)網(wǎng)站的步驟百度電腦版下載官網(wǎng)
  • 柳州做網(wǎng)站有kv網(wǎng)絡(luò)營銷八大職能
  • 網(wǎng)站不備案可以做淘寶客嗎營銷推廣公司案例
  • 網(wǎng)站設(shè)計(jì)精美案例電腦培訓(xùn)學(xué)校哪家好
  • 修改wordpress版權(quán)搜索引擎優(yōu)化是指
  • 建企業(yè)網(wǎng)站哪家好百度云搜索引擎入口
  • 邢臺(tái)企業(yè)做網(wǎng)站搜索關(guān)鍵詞的網(wǎng)站
  • 網(wǎng)站建設(shè)困難嗎企業(yè)宣傳推廣方案
  • wordpress 滑塊驗(yàn)證碼搜索引擎優(yōu)化教材答案
  • wordpress在服務(wù)器上安裝插件上海谷歌seo推廣公司
  • 企業(yè)營銷型網(wǎng)站建設(shè)優(yōu)惠成人教育培訓(xùn)機(jī)構(gòu)
  • html5手機(jī)網(wǎng)站發(fā)布阿里云注冊(cè)域名
  • 運(yùn)濤網(wǎng)站建設(shè)南昌網(wǎng)站seo外包服務(wù)
  • 在什么網(wǎng)站做推廣最好鞍山seo公司
  • 哪個(gè)網(wǎng)站域名便宜seo報(bào)名在線咨詢
  • wordpress調(diào)用指定文章內(nèi)容seo優(yōu)化網(wǎng)站推廣全域營銷獲客公司
  • 網(wǎng)站建設(shè)書本信息網(wǎng)站搜索引擎優(yōu)化的步驟
  • 北京網(wǎng)站設(shè)計(jì)方案優(yōu)化品牌seo關(guān)鍵詞
  • 服裝小訂單接單平臺(tái)seo網(wǎng)站優(yōu)化推廣費(fèi)用
  • 網(wǎng)站游戲制作開發(fā)神秘網(wǎng)站
  • 建什么網(wǎng)站能百度收錄國際國內(nèi)新聞最新消息今天
  • 免費(fèi)php企業(yè)網(wǎng)站源碼關(guān)鍵詞優(yōu)化怎么做
  • 理財(cái)平臺(tái)網(wǎng)站建設(shè)交換鏈接營銷成功案例
  • 互聯(lián)網(wǎng)行業(yè)信息網(wǎng)站免費(fèi)b2b網(wǎng)站推廣渠道
  • wordpress圖片燈箱效果修改百度seo營銷推廣
  • 廣州做網(wǎng)站厲害的公司互聯(lián)網(wǎng)營銷師證書騙局
  • 簡單建設(shè)一個(gè)網(wǎng)站的過程長春網(wǎng)站seo公司
  • 免費(fèi)信息網(wǎng)站建設(shè)7個(gè)湖北seo網(wǎng)站推廣策略