日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

極速數據可視化!七個Pandas繪圖函數助你事半功倍

來源: 責編: 時間:2024-01-04 09:33:41 458觀看
導讀一、簡介在使用Pandas分析數據時,會使用Pandas函數來過濾和轉換列,連接多個數據幀中的數據等操作。但是,生成圖表——將數據在數據幀中可視化——通常比僅僅查看數字更有幫助。Pandas具有幾個繪圖函數,可以使用它們快速輕

一、簡介

在使用Pandas分析數據時,會使用Pandas函數來過濾和轉換列,連接多個數據幀中的數據等操作。eDB28資訊網——每日最新資訊28at.com

但是,生成圖表——將數據在數據幀中可視化——通常比僅僅查看數字更有幫助。eDB28資訊網——每日最新資訊28at.com

Pandas具有幾個繪圖函數,可以使用它們快速輕松地實現數據可視化。我們將在本教程中介紹這些函數。eDB28資訊網——每日最新資訊28at.com

【示例代碼】:https://github.com/balapriyac/python-data-analysis/blob/main/pandas-plotting-fns/pandas_plotting_functions.ipynbeDB28資訊網——每日最新資訊28at.com

二、創建Pandas數據幀

首先創建一個用于分析的示例數據幀。我們將創建一個名為df_employees的數據幀,其中包含員工記錄。eDB28資訊網——每日最新資訊28at.com

我們將使用Faker和NumPy的隨機模塊來填充數據幀,生成200條記錄。eDB28資訊網——每日最新資訊28at.com

注意:如果你的開發環境中沒有安裝Faker,請使用pip安裝:pip install Faker。eDB28資訊網——每日最新資訊28at.com

運行以下代碼片段來創建df_employees,并向其中填充記錄:eDB28資訊網——每日最新資訊28at.com

import pandas as pdfrom faker import Fakerimport numpy as np# 實例化Faker對象fake = Faker()Faker.seed(27)# 為員工創建一個數據幀num_employees = 200departments = ['Engineering', 'Finance', 'HR', 'Marketing', 'Sales', 'IT']years_with_company = np.random.randint(1, 10, size=num_employees)salary = 40000 + 2000 * years_with_company * np.random.randn()employee_data = { 'EmployeeID': np.arange(1, num_employees + 1), 'FirstName': [fake.first_name() for _ in range(num_employees)], 'LastName': [fake.last_name() for _ in range(num_employees)], 'Age': np.random.randint(22, 60, size=num_employees), 'Department': [fake.random_element(departments) for _ in range(num_employees)], 'Salary': np.round(salary), 'YearsWithCompany': years_with_company}df_employees = pd.DataFrame(employee_data)# 顯示數據幀的頭部df_employees.head(10)

我們設置了種子以便重現結果。所以每次運行此代碼,都會得到相同的記錄。eDB28資訊網——每日最新資訊28at.com

以下是數據幀的前幾條記錄:eDB28資訊網——每日最新資訊28at.com

圖片圖片eDB28資訊網——每日最新資訊28at.com

df_employees.head(10)的輸出結果eDB28資訊網——每日最新資訊28at.com

三、Pandas繪圖函數

1. 散點圖

散點圖通常用于了解數據集中任意兩個變量之間的關系。eDB28資訊網——每日最新資訊28at.com

對于df_employees數據幀,讓我們創建一個散點圖來可視化員工年齡和工資之間的關系。這將幫助我們了解員工年齡和工資之間是否存在一定的相關性。eDB28資訊網——每日最新資訊28at.com

要繪制散點圖,我們可以使用plot.scatter(),如下所示:eDB28資訊網——每日最新資訊28at.com

# 散點圖:年齡與工資df_employees.plot.scatter(x='Age', y='Salary', title='Scatter Plot: Age vs Salary', xlabel='Age', ylabel='Salary', grid=True)

圖片eDB28資訊網——每日最新資訊28at.com

對于此示例數據幀,我們并未看到員工年齡和工資之間的任何相關性。eDB28資訊網——每日最新資訊28at.com

2. 折線圖

折線圖適用于識別連續變量(通常是時間或類似刻度)上的趨勢和模式。eDB28資訊網——每日最新資訊28at.com

在創建df_employees數據幀時,我們已經定義了員工在公司工作年限與工資之間的線性關系。因此,讓我們看一下顯示工作年限與平均工資變化的折線圖。eDB28資訊網——每日最新資訊28at.com

我們先按工作年限分組找到平均工資,然后使用plot.line()繪制折線圖:eDB28資訊網——每日最新資訊28at.com

# 折線圖:平均工資隨工作年限的變化趨勢average_salary_by_experience = df_employees.groupby('YearsWithCompany')['Salary'].mean()df_employees['AverageSalaryByExperience'] = df_employees['YearsWithCompany'].map(average_salary_by_experience)df_employees.plot.line(x='YearsWithCompany', y='AverageSalaryByExperience', marker='o', linestyle='-', title='Average Salary Trend Over Years of Experience', xlabel='Years With Company', ylabel='Average Salary', legend=False, grid=True)

圖片圖片eDB28資訊網——每日最新資訊28at.com

由于我們選擇使用員工在公司工作年限的線性關系來填充薪資字段,因此可以清晰地看到折線圖反映了這一點。eDB28資訊網——每日最新資訊28at.com

3. 直方圖

可以使用直方圖來可視化連續變量的分布情況,方法是將數值劃分成區間或分段,并顯示每個分段中的數據點數量。eDB28資訊網——每日最新資訊28at.com

讓我們使用plot.hist()繪制直方圖來了解員工年齡的分布情況,如下所示:eDB28資訊網——每日最新資訊28at.com

# 直方圖:年齡分布df_employees['Age'].plot.hist(title='Age Distribution', bins=15)

圖片圖片eDB28資訊網——每日最新資訊28at.com

4. 箱形圖

箱形圖有助于了解變量的分布、擴散情況,并用于識別異常值。eDB28資訊網——每日最新資訊28at.com

讓我們創建一個箱形圖,比較不同部門間的工資分布情況,從而對組織部的工資分布情況進行高層次的比較。eDB28資訊網——每日最新資訊28at.com

箱形圖還有助于確定薪資范圍以及每個部門的有用信息,如中位數薪資和潛在的異常值等。eDB28資訊網——每日最新資訊28at.com

在這里,我們使用根據“部門(Department)”分組的“薪資(Salary)”列來繪制箱形圖:eDB28資訊網——每日最新資訊28at.com

# 箱形圖:按部門分列的薪金分布情況df_employees.boxplot(column='Salary', by='Department', grid=True, vert=False)

圖片圖片eDB28資訊網——每日最新資訊28at.com

從箱線圖中,我們可以看到某些部門的薪資分布比其他部門更廣泛。eDB28資訊網——每日最新資訊28at.com

5. 條形圖

如果想要了解變量在出現頻率方面的分布情況,可以使用條形圖。eDB28資訊網——每日最新資訊28at.com

現在,讓我們使用plot.bar()繪制一個條形圖來可視化員工數量:eDB28資訊網——每日最新資訊28at.com

# 條形圖:按部門的員工數量df_employees['Department'].value_counts().plot.bar(title='Employee Count by Department')

圖片圖片eDB28資訊網——每日最新資訊28at.com

6. 面積圖

面積圖通常用于可視化在連續軸或分類軸上的累積分布變量。eDB28資訊網——每日最新資訊28at.com

對于員工數據幀,我們可以繪制不同年齡組的累積薪資分布圖。為了將員工映射到基于年齡組的區間中,我們需要使用pd.cut()。eDB28資訊網——每日最新資訊28at.com

然后,我們通過“年齡組(AgeGroup)”對薪資進行累積求和。為了得到面積圖,我們使用plot.area():eDB28資訊網——每日最新資訊28at.com

# 面積圖:不同年齡組的累積薪資分布df_employees['AgeGroup'] = pd.cut(df_employees['Age'], bins=[20, 30, 40, 50, 60], labels=['20-29', '30-39', '40-49', '50-59'])cumulative_salary_by_age_group = df_employees.groupby('AgeGroup')['Salary'].cumsum()df_employees['CumulativeSalaryByAgeGroup'] = cumulative_salary_by_age_groupdf_employees.plot.area(x='AgeGroup', y='CumulativeSalaryByAgeGroup', title='Cumulative Salary Distribution Over Age Groups', xlabel='Age Group', ylabel='Cumulative Salary', legend=False, grid=True)

7. 餅圖

餅圖有助于可視化各個部門在整體組織中的薪資分布比例。eDB28資訊網——每日最新資訊28at.com

對于我們的示例,創建一個餅圖來顯示組織中各個部門的薪資分布是很有意義的。eDB28資訊網——每日最新資訊28at.com

我們通過部門對員工的薪資進行分組,然后使用plot.pie()來繪制餅圖:eDB28資訊網——每日最新資訊28at.com

# 餅圖:按部門劃分的薪資分布df_employees.groupby('Department')['Salary'].sum().plot.pie(title='Department-wise Salary Distribution', autopct='%1.1f%%')

四、總結

以上就是7個用于快速數據可視化的Pandas繪圖函數。也可以嘗試使用matplotlib和seaborn生成更漂亮的圖表。但是對于快速數據可視化,上述這些函數非常方便。eDB28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-57406-0.html極速數據可視化!七個Pandas繪圖函數助你事半功倍

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Go Lang Fiber介紹

下一篇: 五個大幅提升開發效率的VS Code技巧

標簽:
  • 熱門焦點
  • vivo TWS Air開箱體驗:真輕 臻好聽

    在vivo S15系列新機的發布會上,vivo的最新款真無線藍牙耳機vivo TWS Air也一同發布,本次就這款耳機新品給大家帶來一個簡單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產
  • 6月iOS設備好評榜:第一蟬聯榜首近一年

    作為安兔兔各種榜單里變化最小的那個,2023年6月的iOS好評榜和上個月相比沒有任何排名上的變化,僅僅是部分設備好評率的下降,長年累月的用戶評價和逐漸退出市場的老款機器讓這
  • 5月安卓手機好評榜:魅族20 Pro奪冠

    性能榜和性價比榜之后,我們來看最后的安卓手機好評榜,數據來源安兔兔評測,收集時間2023年5月1日至5月31日,僅限國內市場。第一名:魅族20 Pro好評率:97.50%不得不感慨魅族老品牌還
  • 深度探索 Elasticsearch 8.X:function_score 參數解讀與實戰案例分析

    在 Elasticsearch 中,function_score 可以讓我們在查詢的同時對搜索結果進行自定義評分。function_score 提供了一系列的參數和函數讓我們可以根據需求靈活地進行設置。近期
  • 使用LLM插件從命令行訪問Llama 2

    最近的一個大新聞是Meta AI推出了新的開源授權的大型語言模型Llama 2。這是一項非常重要的進展:Llama 2可免費用于研究和商業用途。(幾小時前,swyy發現它已從LLaMA 2更名為Lla
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會涉及各種各樣的安全任務,包括但不限于:開發某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 網紅炒股不為了賺錢,那就是耍流氓!

    來源:首席商業評論6月26日高調宣布入市,網絡名嘴大v胡錫進居然進軍了股市。在一次財經媒體峰會上,幾個財經圈媒體大佬就“胡錫進炒股是否知道認真報道”展開討論。有
  • 7月4日見!iQOO 11S官宣:“雞血版”驍龍8 Gen2+200W快充加持

    上半年已接近尾聲,截至目前各大品牌旗下的頂級旗艦都已悉數亮相,而下半年即將推出的頂級旗艦已經成為了數碼圈爆料的主流,其中就包括全新的iQOO 11S系
  • 滴滴違法違規被罰80.26億 共存在16項違法事實

    滴滴違法違規被罰80.26億 存在16項違法事實開始于2121年7月,歷經一年時間,網絡安全審查辦公室對“滴滴出行”網絡安全審查終于有了一個暫時的結束。據“網信
Top 主站蜘蛛池模板: 甘泉县| 阿坝县| 岳池县| 桦甸市| 崇明县| 南郑县| 郑州市| 伊吾县| 苏尼特左旗| 扎鲁特旗| 江山市| 涡阳县| 连江县| 瑞金市| 根河市| 视频| 巴青县| 普安县| 迁安市| 凤翔县| 青阳县| 通江县| 且末县| 宁远县| 河西区| 遂川县| 桑植县| 临城县| 淄博市| 醴陵市| 拉孜县| 麻阳| 山东| 台安县| 甘南县| 邵阳县| 虞城县| 屯昌县| 麻城市| 大埔县| 南雄市|