成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 開發(fā)工具
7個用于快速數(shù)據(jù)可視化的Pandas繪圖函數(shù)。也可以嘗試使用matplotlib和seaborn生成更漂亮的圖表。但是對于快速數(shù)據(jù)可視化,上述這些函數(shù)非常方便。

一、簡介

在使用Pandas分析數(shù)據(jù)時,會使用Pandas函數(shù)來過濾和轉(zhuǎn)換列,連接多個數(shù)據(jù)幀中的數(shù)據(jù)等操作。

但是,生成圖表——將數(shù)據(jù)在數(shù)據(jù)幀中可視化——通常比僅僅查看數(shù)字更有幫助。

Pandas具有幾個繪圖函數(shù),可以使用它們快速輕松地實現(xiàn)數(shù)據(jù)可視化。我們將在本教程中介紹這些函數(shù)。

【示例代碼】:https://github.com/balapriyac/python-data-analysis/blob/main/pandas-plotting-fns/pandas_plotting_functions.ipynb

二、創(chuàng)建Pandas數(shù)據(jù)幀

首先創(chuàng)建一個用于分析的示例數(shù)據(jù)幀。我們將創(chuàng)建一個名為df_employees的數(shù)據(jù)幀,其中包含員工記錄。

我們將使用Faker和NumPy的隨機模塊來填充數(shù)據(jù)幀,生成200條記錄。

注意:如果你的開發(fā)環(huán)境中沒有安裝Faker,請使用pip安裝:pip install Faker。

運行以下代碼片段來創(chuàng)建df_employees,并向其中填充記錄:

import pandas as pd
from faker import Faker
import numpy as np

# 實例化Faker對象
fake = Faker()
Faker.seed(27)

# 為員工創(chuàng)建一個數(shù)據(jù)幀
num_employees = 200
departments = ['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)

# 顯示數(shù)據(jù)幀的頭部
df_employees.head(10)

我們設(shè)置了種子以便重現(xiàn)結(jié)果。所以每次運行此代碼,都會得到相同的記錄。

以下是數(shù)據(jù)幀的前幾條記錄:

圖片圖片

df_employees.head(10)的輸出結(jié)果

三、Pandas繪圖函數(shù)

1. 散點圖

散點圖通常用于了解數(shù)據(jù)集中任意兩個變量之間的關(guān)系。

對于df_employees數(shù)據(jù)幀,讓我們創(chuàng)建一個散點圖來可視化員工年齡和工資之間的關(guān)系。這將幫助我們了解員工年齡和工資之間是否存在一定的相關(guān)性。

要繪制散點圖,我們可以使用plot.scatter(),如下所示:

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

圖片

對于此示例數(shù)據(jù)幀,我們并未看到員工年齡和工資之間的任何相關(guān)性。

2. 折線圖

折線圖適用于識別連續(xù)變量(通常是時間或類似刻度)上的趨勢和模式。

在創(chuàng)建df_employees數(shù)據(jù)幀時,我們已經(jīng)定義了員工在公司工作年限與工資之間的線性關(guān)系。因此,讓我們看一下顯示工作年限與平均工資變化的折線圖。

我們先按工作年限分組找到平均工資,然后使用plot.line()繪制折線圖:

# 折線圖:平均工資隨工作年限的變化趨勢
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)

圖片圖片

由于我們選擇使用員工在公司工作年限的線性關(guān)系來填充薪資字段,因此可以清晰地看到折線圖反映了這一點。

3. 直方圖

可以使用直方圖來可視化連續(xù)變量的分布情況,方法是將數(shù)值劃分成區(qū)間或分段,并顯示每個分段中的數(shù)據(jù)點數(shù)量。

讓我們使用plot.hist()繪制直方圖來了解員工年齡的分布情況,如下所示:

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

圖片圖片

4. 箱形圖

箱形圖有助于了解變量的分布、擴散情況,并用于識別異常值。

讓我們創(chuàng)建一個箱形圖,比較不同部門間的工資分布情況,從而對組織部的工資分布情況進行高層次的比較。

箱形圖還有助于確定薪資范圍以及每個部門的有用信息,如中位數(shù)薪資和潛在的異常值等。

在這里,我們使用根據(jù)“部門(Department)”分組的“薪資(Salary)”列來繪制箱形圖:

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

圖片圖片

從箱線圖中,我們可以看到某些部門的薪資分布比其他部門更廣泛。

5. 條形圖

如果想要了解變量在出現(xiàn)頻率方面的分布情況,可以使用條形圖。

現(xiàn)在,讓我們使用plot.bar()繪制一個條形圖來可視化員工數(shù)量:

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

圖片圖片

6. 面積圖

面積圖通常用于可視化在連續(xù)軸或分類軸上的累積分布變量。

對于員工數(shù)據(jù)幀,我們可以繪制不同年齡組的累積薪資分布圖。為了將員工映射到基于年齡組的區(qū)間中,我們需要使用pd.cut()。

然后,我們通過“年齡組(AgeGroup)”對薪資進行累積求和。為了得到面積圖,我們使用plot.area():

# 面積圖:不同年齡組的累積薪資分布
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_group

df_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. 餅圖

餅圖有助于可視化各個部門在整體組織中的薪資分布比例。

對于我們的示例,創(chuàng)建一個餅圖來顯示組織中各個部門的薪資分布是很有意義的。

我們通過部門對員工的薪資進行分組,然后使用plot.pie()來繪制餅圖:

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

四、總結(jié)

以上就是7個用于快速數(shù)據(jù)可視化的Pandas繪圖函數(shù)。也可以嘗試使用matplotlib和seaborn生成更漂亮的圖表。但是對于快速數(shù)據(jù)可視化,上述這些函數(shù)非常方便。

責(zé)任編輯:武曉燕 來源: Python學(xué)研大本營
相關(guān)推薦

2024-01-02 18:03:42

編程語言Python

2017-07-28 14:43:49

大數(shù)據(jù)數(shù)據(jù)可視化秘密

2018-10-16 15:12:48

2018-10-18 11:03:06

2024-01-29 13:02:00

數(shù)據(jù)可視化庫數(shù)組

2020-09-27 11:15:37

可視化PandasPython

2022-04-25 14:27:05

Pandas函數(shù)數(shù)據(jù)

2022-12-07 15:36:20

Pandas數(shù)據(jù)集

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2021-08-30 11:40:06

PythonSeaborn可視化

2014-05-05 10:01:51

數(shù)據(jù)可視化

2023-02-15 08:24:12

數(shù)據(jù)分析數(shù)據(jù)可視化

2021-04-07 10:51:01

Python科學(xué)語言

2022-03-01 20:20:18

云遷移云計算

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化

2018-08-09 22:16:35

可視化數(shù)據(jù)集Groeger

2018-08-21 21:46:57

ggplot2可視化拓展程序

2020-04-03 13:50:19

數(shù)據(jù)分析PandasNumPy

2017-07-18 15:15:57

數(shù)據(jù)可視化細(xì)節(jié)層次分析

2020-08-14 10:45:26

Pandas可視化數(shù)據(jù)預(yù)處理
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日韩在线一区二区 | 精品国产不卡一区二区三区 | 久久久99精品免费观看 | 欧美日韩中文国产一区发布 | 免费在线观看一级毛片 | 超碰成人免费观看 | 久久久激情 | 91p在线观看 | 99久久婷婷国产综合精品电影 | 久久高清 | 亚洲欧洲精品一区 | 国产黄色大片在线免费观看 | 午夜小视频在线播放 | 久久久精品视 | 亚洲视频一区二区三区 | 免费成人在线网站 | 亚洲三级av | 欧美性受 | 久久久精品网站 | 久久久国产精品 | 亚洲精品美女视频 | 一区二区三区中文字幕 | 97国产一区二区精品久久呦 | 日韩一区二区三区av | 欧美日韩久 | 免费视频中文字幕 | 999久久久久久久 | 91素人| 国产原创在线观看 | 国产精品免费在线 | 国产成人精品免费 | 国产精品免费一区二区三区四区 | 日本特黄特色aaa大片免费 | 久久久婷婷| 蜜桃在线视频 | 日韩av一二三区 | 在线欧美亚洲 | 久久久人成影片免费观看 | 国产中文区二幕区2012 | 日韩成人av在线 | 国产精品久久 |