畫圖第一步:根據情況import模塊寶寶:import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
畫圖第二步:召喚我們的表格:自己取的名子(比如da) = pd.read_csv("表格名字.csv")
畫圖第三步(optional):看看表格的基本情況:自己取的名子.describe( )
插播一則消息:
如果要對我們的表格內容進行重命名的話怎么做呢,比如有一個表格,他的“婚姻狀態”那一欄下面的數字是1,2,3,4,5,77,99,但其實它是代表著以下這些不同的類別:
那我們可以重新創建一行,為這些數字類別換個容易看的名字(用字典的形式),也方便我們畫圖。
代碼:da["新列名"] = da.舊列名.replace({1: "married", 2: "widowed", 3: "divorced", 4: "separated", 5: "never married", 6:"living with partner",77: "Refused", 99: "Don't know"})
另外,如果我們要對表格里的內容進行統計,我們用到的咒語是:print(da["那一列的名字"].value_counts())
#記住,這里的value_counts() 是有括號,有s的。
畫圖第四步:寫出我們的畫圖咒語
畫圖咒語其實有很多,displot(), kdeplot()等等,我們這里介紹基礎的histogram和boxplot怎么畫
# 畫一個直方圖
#在seaborn中最簡便查看單元分布的函數是distplot().該函數默認繪制直方圖并擬合內核密度估計。通過調整參數可以分別繪制直方圖,擬合內核密度圖,地毯圖等。
#當繪制直方圖時,你需要調整的參數是bin的數目(組數)。displot()會默認給出一個它認為比較好的組數,但是嘗試不同的組數可能會揭示出數據不同的特征。sns.distplot (自己取的名子["你要畫的那一列的名字"], kde = False,bin= 組數).set_title("自己想一個直方圖的名字")
plt.show()
如果要畫兩列在一起:sns.distplot(自己取的名子["你要畫的那一列的名字"], kde = False)
sns.distplot(自己取的名子["你要畫的另一列的名字"], kde = False).set_title("自己想一個直方圖的名字,比如Histogram of Both 列")
plt.show()
boxplot咒語:sns.boxplot(自己取的名子["你要畫的列的名字"]).set_title("自己想一個箱型圖的名字")
plt.show()
如果要畫兩列在一起:sns.boxplot(自己取的名子["你要畫的列的名字"])
sns.boxplot(自己取的名子["你要畫的另一列的名字"]).set_title("自己想一個箱型圖的名字,比如Box plot of x x x")
plt.show()
舉個栗子
以上都是單個變量的,那如何繪制才能同時顯示多列呢sns.boxplot(data = da.loc[:,["變量1","變量2"]])
栗子:
那如果要繪制一個變量影響另一個變量的表呢?sns.boxplot(x = 自己取的名字["變量1"] ,? y = ?自己取的名字["變量2"])
plt.show()
栗子:
如果要讓一次繪制多個圖表(以網格形式顯示),那我們就要用到神奇的facetgrid接口
基本工作流程是FacetGrid使用數據集和用于構造網格的變量初始化對象。然后,調用FacetGrid.map()
plt.hist的意思是,plot histogramsns.FacetGrid(自己取的名字, row = "要分類的列名 比如 Gender").map(plt.hist, "你要畫的列的名字")
舉個栗子:
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态