Python Seaborn Tutorial: Seaborn คืออะไรและใช้งานอย่างไร?



บทช่วยสอน Python Seaborn พร้อมความแตกต่างระหว่าง Seaborn และ Matplotlib เรียนรู้เกี่ยวกับฟังก์ชันต่างๆและการปรับแต่งที่มีอยู่ในทะเล

Python เป็นคลังเก็บของไลบรารีและเฟรมเวิร์กที่ทรงพลังมากมาย ในหมู่พวกเขาคือ ซีบอร์น ซึ่งเป็นจุดเด่น การแสดงข้อมูล ไลบรารีให้เหตุผลอีกประการหนึ่งสำหรับโปรแกรมเมอร์ที่จะทำให้เสร็จสมบูรณ์ . ในบทช่วยสอน Python Seaborn นี้คุณจะได้เรียนรู้การสร้างภาพข้อมูลโดยใช้ Seaborn

ก่อนที่จะดำเนินการต่อมาดูหัวข้อการสนทนาทั้งหมดในบทความนี้:





ดังนั้นเรามาเริ่มกันก่อนโดยให้เหตุผลถึงความสำคัญของ Python Seaborn

ทำไมต้องใช้ Python Seaborn?

ดังที่ได้กล่าวไว้ก่อนหน้านี้ไลบรารี Python Seaborn ใช้เพื่อลดภาระงานที่ท้าทายในการแสดงภาพข้อมูลและใช้ . Seaborn อนุญาตให้สร้างกราฟิกเชิงสถิติผ่านฟังก์ชันต่อไปนี้:



  • API ที่ยึดตามชุดข้อมูลที่อนุญาตให้เปรียบเทียบระหว่างหลาย ๆ ตัวแปร

  • รองรับกริดแบบหลายพล็อตซึ่งจะช่วยให้สร้างภาพที่ซับซ้อนได้ง่ายขึ้น

  • Univariate and bivariate visualizations พร้อมให้เปรียบเทียบระหว่างชุดย่อยของข้อมูล



  • มีจานสีที่แตกต่างกันเพื่อแสดงรูปแบบต่างๆ

  • ประมาณการและแปลง โดยอัตโนมัติ

ดังนั้นหากคุณสงสัยว่าทำไมต้องใช้ Seaborn เมื่อคุณมี Matplotlib อยู่แล้วนี่คือคำตอบ

Python Seaborn กับ Matplotlib:

“ ถ้า Matplotlib“ พยายามทำให้สิ่งที่ง่ายและยากเป็นไปได้” ซีบอร์นก็พยายามที่จะทำให้เรื่องยาก ๆ ที่กำหนดไว้เป็นอย่างดีนั้นเป็นเรื่องง่ายเช่นกัน” - ไมเคิลวาสคอม (ผู้สร้างซีบอร์น)
จริงๆแล้ว Matplotlib ดี แต่ Seaborn ดีกว่า โดยทั่วไปมีข้อบกพร่องสองประการของ Matplotlib ที่ Seaborn แก้ไข:

  1. Matplotlib สามารถปรับเปลี่ยนในแบบของคุณได้ แต่ยากที่จะเข้าใจว่าการตั้งค่าใดที่จำเป็นเพื่อให้พล็อตน่าสนใจยิ่งขึ้น ในทางกลับกัน Seaborn มาพร้อมกับธีมที่ปรับแต่งได้มากมายและอินเทอร์เฟซระดับสูงเพื่อแก้ปัญหานี้

  2. เมื่อทำงานกับ หมีแพนด้า Matplotlib ทำงานได้ไม่ดีเมื่อต้องจัดการกับ DataFrames ในขณะที่ฟังก์ชัน Seaborn ใช้งานได้จริงบน DataFrames

วิธีการติดตั้ง Seaborn?

ในการติดตั้งไลบรารี Python Seaborn คุณสามารถใช้คำสั่งต่อไปนี้ตามแพลตฟอร์มที่คุณใช้:

pip ติดตั้งซีบอร์น

หรือ

คอนด้าติดตั้งซีบอร์น

เมื่อติดตั้งแล้วตรวจสอบให้แน่ใจว่าได้ติดตั้งแพ็คเกจและไลบรารีที่ซีบอร์นขึ้นอยู่

การติดตั้งการพึ่งพา Python Seaborn:

การพึ่งพาที่บังคับสำหรับนกทะเล ได้แก่ :

มีการพึ่งพาที่แนะนำเช่นกันซึ่ง ได้แก่ :

  • แบบจำลองของรัฐ

ในการติดตั้งไลบรารีเหล่านี้คุณสามารถใช้คำสั่งเดียวกับที่แสดงไว้ก่อนหน้านี้สำหรับ Seaborn ด้วยชื่อที่เกี่ยวข้อง เมื่อติดตั้งแล้วสามารถนำเข้าได้อย่างง่ายดาย Seaborn ช่วยให้คุณโหลดชุดข้อมูลจาก ใช้ load_dataset () ฟังก์ชัน คุณยังสามารถดูชุดข้อมูลทั้งหมดที่มีได้โดยใช้ฟังก์ชัน get_dataset_names () ดังนี้:

ตัวอย่าง:

นำเข้าทะเลเป็น sns sns.get_dataset_names ()

การดำเนินการนี้จะส่งคืนรายการชุดข้อมูลที่มีอยู่ทั้งหมด
ตอนนี้คุณได้ตั้งค่าสภาพแวดล้อมของคุณสำหรับการทำงานกับทะเลแล้วเรามาดูวิธีการใช้ฟังก์ชันการวางแผนใน .

ฟังก์ชั่นการวางแผน Seaborn

การแสดงภาพความสัมพันธ์ทางสถิติ:

กระบวนการทำความเข้าใจความสัมพันธ์ระหว่างตัวแปรของชุดข้อมูลและความสัมพันธ์เหล่านี้ขึ้นอยู่กับตัวแปรอื่น ๆ ที่เรียกว่าการวิเคราะห์ทางสถิติ มาดูรายละเอียดเพิ่มเติมเกี่ยวกับฟังก์ชันที่จำเป็นสำหรับสิ่งนี้:

relplot ():

นี่คือฟังก์ชันระดับรูปที่ใช้ประโยชน์จากฟังก์ชันอีกสองแกนสำหรับการแสดงความสัมพันธ์ทางสถิติซึ่ง ได้แก่ :

  • scatterplot ()
  • lineplot ()

ฟังก์ชันเหล่านี้สามารถระบุได้โดยใช้พารามิเตอร์ 'kind' ของ relplot () ในกรณีที่กำหนดพารามิเตอร์นี้จะใช้ค่าดีฟอลต์ซึ่งก็คือ scatterplot () ก่อนที่คุณจะเริ่มเขียนโค้ดของคุณตรวจสอบให้แน่ใจว่าได้นำเข้าไลบรารีที่จำเป็นดังต่อไปนี้:

สุดท้ายก็จบใน java
import numpy เป็น np import pandas เป็น pd import matplotlib.pyplot เป็น plt import seaborn เป็น sns sns.set (style = 'darkgrid')

โปรดทราบว่าแอตทริบิวต์สไตล์ยังสามารถปรับแต่งได้และสามารถรับค่าใดก็ได้เช่น darkgrid, ticks ฯลฯ ซึ่งฉันจะพูดถึงในภายหลังในส่วน plot-aesthetics ตอนนี้เรามาดูตัวอย่างเล็ก ๆ :

ตัวอย่าง:

f = sns.load_dataset ('เที่ยวบิน') sns.relplot (x = 'ผู้โดยสาร', y = 'เดือน', data = f)

เอาท์พุท:

เที่ยวบิน 1-Python Seaborn Tutorial-Edureka

อย่างที่คุณเห็นจุดต่างๆจะถูกพล็อตเป็น 2 มิติ อย่างไรก็ตามคุณสามารถเพิ่มมิติข้อมูลอื่นโดยใช้ความหมาย 'hue' เรามาดูตัวอย่างเดียวกัน:

ตัวอย่าง:

f = sns.load_dataset ('เที่ยวบิน') sns.relplot (x = 'ผู้โดยสาร', y = 'เดือน', สี = 'ปี', data = f)

คุณจะเห็นผลลัพธ์ต่อไปนี้:

เอาท์พุท:

อย่างไรก็ตามยังมีการปรับแต่งอื่น ๆ อีกมากมายที่คุณสามารถทดลองใช้ได้เช่นสีลักษณะขนาดและอื่น ๆ ให้ฉันแสดงวิธีการเปลี่ยนสีในตัวอย่างต่อไปนี้:

ตัวอย่าง:

sns.set (style = 'darkgrid') f = sns.load_dataset ('เที่ยวบิน') sns.relplot (x = 'ผู้โดยสาร', y = 'เดือน', สี = 'ปี', จานสี = 'ch: r = - .5, l = .75 ', ข้อมูล = f)

เอาท์พุท:

lineplot ():

ฟังก์ชันนี้จะช่วยให้คุณสามารถลากเส้นต่อเนื่องสำหรับข้อมูลของคุณ คุณสามารถใช้ฟังก์ชันนี้ได้โดยเปลี่ยนพารามิเตอร์ 'kind' ดังนี้:

ตัวอย่าง:

a = pd.DataFrame ({'Day': [1,2,3,4,5,6,7], 'Grocery': [30,80,45,23,51,46,76], 'Clothes' : [13,40,34,23,54,67,98], 'ภาชนะ': [12,32,27,56,87,54,34]}, ดัชนี = [1,2,3,4,5 , 6,7]) g = sns.relplot (x = 'Day', y = 'Clothes', kind = 'line', data = a) g.fig.autofmt_xdate ()

เอาท์พุท:

ค่าเริ่มต้นสำหรับ lineplot คือ y เป็นฟังก์ชันของ x อย่างไรก็ตามสามารถเปลี่ยนแปลงได้หากต้องการดำเนินการดังกล่าว มีตัวเลือกอื่น ๆ อีกมากมายที่คุณสามารถลองเพิ่มเติมได้

ตอนนี้เรามาดูวิธีการลงจุดข้อมูลตามหมวดหมู่

การพล็อตด้วยข้อมูลตามหมวดหมู่:

แนวทางนี้เข้ามาในภาพเมื่อตัวแปรหลักของเราถูกแบ่งออกเป็นกลุ่มที่ไม่ต่อเนื่อง (จัดหมวดหมู่) สิ่งนี้สามารถทำได้โดยใช้ฟังก์ชัน catplot ()

catplot ():

นี่คือฟังก์ชันระดับตัวเลขเช่น relplot () สามารถโดดเด่นด้วยฟังก์ชันระดับแกนสามตระกูล ได้แก่ :

  1. Scatterplots - รวมถึง stripplot (), swarmplot ()

  2. พล็อตการแจกจ่าย - ซึ่ง ได้แก่ boxplot (), violinplot (), boxenplot ()

  3. Estimateplots - ได้แก่ pointplot (), barplot (), countplot ()

ตอนนี้เรามาดูตัวอย่างบางส่วนเพื่อสาธิตสิ่งนี้:

ตัวอย่าง:

นำเข้า seaborn เป็น sns import matplotlib.pyplot เป็น plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', ข้อมูล = a)

เอาท์พุท:

ดังที่คุณเห็นในตัวอย่างด้านบนฉันไม่ได้ตั้งค่าพารามิเตอร์ 'ชนิด' ดังนั้นจึงส่งคืนกราฟเป็น scatterplot เริ่มต้น คุณสามารถระบุฟังก์ชันระดับแกนใด ๆ เพื่อเปลี่ยนกราฟได้ตามต้องการ ลองยกตัวอย่างสิ่งนี้ด้วย:

ตัวอย่าง:

นำเข้า seaborn เป็น sns import matplotlib.pyplot เป็น plt sns.set (style = 'ticks', color_codes = True) a = sns.load_dataset ('tips') sns.catplot (x = 'day', y = 'total_bill', ชนิด = 'ไวโอลิน', data = a)

เอาท์พุท:

เอาต์พุตด้านบนแสดงไวโอลินสำหรับชุดข้อมูลเคล็ดลับ ตอนนี้ให้เราพยายามหาวิธีแสดงภาพการกระจายของชุดข้อมูล

การแสดงภาพการกระจายของชุดข้อมูล:

สิ่งนี้เกี่ยวข้องกับการทำความเข้าใจชุดข้อมูลที่มีบริบทเป็นตัวแปรเดียวหรือสองตัวแปร ก่อนเริ่มต้นให้นำเข้าสิ่งต่อไปนี้:

import numpy เป็น np import pandas เป็น pd import seaborn เป็น sns import matplotlib.pyplot เป็น plt จาก scipy import stats sns.set (color_codes = True)

เมื่อเสร็จแล้วคุณสามารถพล็อตการแจกแจงแบบตัวแปรเดียวและสองตัวแปรต่อไปได้

การพล็อตการแจกแจงแบบ Univariate:

ในการลงจุดคุณสามารถใช้ฟังก์ชัน distplot () ได้ดังนี้:

ตัวอย่าง:

a = np.random.normal (loc = 5, size = 100, scale = 2) sns.distplot (a)

เอาท์พุท:

ดังที่คุณเห็นในตัวอย่างข้างต้นเราได้วางแผนกราฟสำหรับตัวแปร a ซึ่งค่าถูกสร้างขึ้นโดยฟังก์ชัน normal () โดยใช้ distplot

การพล็อตการแจกแจงแบบสองตัวแปร:

สิ่งนี้จะเกิดขึ้นเมื่อคุณมีตัวแปรอิสระสองตัวที่ทำให้เกิดเหตุการณ์ที่น่าจะเป็นไปได้ ฟังก์ชันที่ดีที่สุดในการพล็อตกราฟประเภทนี้คือ jointplot () ตอนนี้ให้เราวาดกราฟสองตัวแปรโดยใช้ jointplot ()

ตัวอย่าง:

x = pd.DataFrame ({'Day': [1,2,3,4,5,6,7], 'Grocery': [30,80,45,23,51,46,76], 'Clothes' : [13,40,34,23,54,67,98], 'ภาชนะ': [12,32,27,56,87,54,34]}, ดัชนี = [1,2,3,4,5 , 6,7]) y = pd.DataFrame ({'วัน': [8,9,10,11,12,13,14], 'ร้านขายของชำ': [30,80,45,23,51,46, 76], 'เสื้อผ้า': [13,40,34,23,54,67,98], 'เครื่องใช้': [12,32,27,56,87,54,34]}, ดัชนี = [8,9 , 10,11,12,13,14]) mean, cov = [0, 1], [(1, .5), (.5, 1)] data = np.random.multivariate_normal (ค่าเฉลี่ย, cov, 200 ) ด้วย sns.axes_style ('white'): sns.jointplot (x = x, y = y, kind = 'kde', color = 'b')

เอาท์พุท:

เมื่อคุณเข้าใจฟังก์ชันต่างๆใน Python Seaborn แล้วเรามาสร้างกริดแบบหลายพล็อตที่มีโครงสร้างกัน

กริดหลายพล็อต:

Python Seaborn ช่วยให้คุณสามารถพล็อตกริดหลาย ๆ แบบเคียงข้างกัน สิ่งเหล่านี้เป็นพล็อตหรือกราฟที่พล็อตโดยใช้มาตราส่วนและแกนเดียวกันเพื่อช่วยในการเปรียบเทียบระหว่างพวกเขา ในทางกลับกันสิ่งนี้จะช่วยให้โปรแกรมเมอร์แยกแยะความแตกต่างได้อย่างรวดเร็วระหว่างพล็อตและรับข้อมูลจำนวนมาก

พิจารณาตัวอย่างต่อไปนี้ของฟังก์ชัน facetgrid () เพื่อพล็อตกราฟเหล่านี้

ตัวอย่าง:

sns.set (style = 'darkgrid') a = sns.load_dataset ('iris') b = sns.FacetGrid (a, col = 'species') b.map (plt.hist, 'sepal_length')

เอาท์พุท:

ผลลัพธ์ข้างต้นแสดงให้เห็นอย่างชัดเจนถึงการเปรียบเทียบระหว่างเคล็ดลับที่ได้รับในช่วงมื้อกลางวันและมื้อค่ำ คุณยังสามารถลงจุดโดยใช้ฟังก์ชัน PairGrid เมื่อคุณมีคู่ของตัวแปรเพื่อเปรียบเทียบ ลองพิจารณาตัวอย่างต่อไปนี้

ตัวอย่าง:

sns.set (style = 'ticks') a = sns.load_dataset ('flight') b = sns.PairGrid (a) b.map (plt.scatter)

เอาท์พุท:

อย่างที่คุณเห็นผลลัพธ์ข้างต้นเปรียบเทียบอย่างชัดเจนระหว่างปีและจำนวนผู้โดยสารในรูปแบบต่างๆ

ซีบอร์นยังอนุญาตให้ปรับแต่งเกี่ยวกับสุนทรียศาสตร์ซึ่งจะกล่าวถึงต่อไป

พล็อต - สุนทรียศาสตร์:

ส่วนของบทช่วยสอน Python Seaborn นี้เกี่ยวข้องกับการทำให้แผนการของเราน่าสนใจและน่ายินดียิ่งขึ้น

Python Seaborn รูป - สุนทรียศาสตร์:

ฟังก์ชันแรกที่ฉันจะพูดถึงคือ set () ฉันเคยใช้พารามิเตอร์ 'style' ของฟังก์ชันนี้มาก่อน พารามิเตอร์นี้เกี่ยวข้องกับธีมของทะเลโดยทั่วไป ปัจจุบันมีให้เลือกห้าแบบ ได้แก่ darkgrid, ticks, whitegrid, white และ dark

พิจารณาตัวอย่างต่อไปนี้ที่แสดงให้เห็นถึงธีมสีขาว

ตัวอย่าง:

นำเข้านกทะเลเป็น sns import matplotlib.pyplot เป็น plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', ข้อมูล = a)

เอาท์พุท:

ในผลลัพธ์ด้านบนคุณจะสังเกตเห็นว่าชุดรูปแบบเปลี่ยนเป็นสีขาว คุณสามารถสำรวจเพิ่มเติมได้โดยใช้ธีมอื่น ๆ เช่นกัน หากคุณสังเกตเห็นในผลลัพธ์ก่อนหน้านี้จะมีแกนอยู่รอบ ๆ กราฟ อย่างไรก็ตามสามารถปรับแต่งได้โดยใช้ฟังก์ชัน despine () ดูตัวอย่างด้านล่าง

ตัวอย่าง:

นำเข้านกทะเลเป็น sns import matplotlib.pyplot เป็น plt sns.set (style = 'white', color_codes = True) a = sns.load_dataset ('tips') sns.boxplot (x = 'day', y = 'total_bill', data = a) sns.despine (offset = 10, trim = True)

เอาท์พุท:



สังเกตความแตกต่างระหว่างสองเอาต์พุตก่อนหน้านี้ อย่างไรก็ตามมีตัวเลือกอื่น ๆ อีกมากมายที่คุณสามารถสำรวจได้ด้วยตัวคุณเอง

จานสี Python Seaborn:

โดยพื้นฐานแล้วสีเป็นคุณสมบัติที่เข้าใกล้ดวงตาของมนุษย์มากกว่าคุณสมบัติอื่น ๆ Seaborn ช่วยให้คุณสามารถเล่นกับสีโดยใช้ฟังก์ชันต่างๆเช่น color_palette (), hls_palette (), husl_palette () เป็นต้นลองดูสีที่มีอยู่ในทะเลในปัจจุบัน

ตัวอย่าง:

นำเข้า numpy เป็น np import seaborn เป็น sns import matplotlib.pyplot เป็น plt sns.set () presentcolors = sns.color_palette () sns.palplot (presentcolors)

เอาท์พุท:

วิธีสร้างอาร์เรย์ของวัตถุ

ภาพด้านบนแสดงสีที่มีอยู่ในทะเล ฉันได้ทำโดยใช้ฟังก์ชัน palplot () สำหรับรูปแบบที่ลึกกว่าคุณสามารถใช้ hls_palette (), husl_palette () ฯลฯ

เรามาถึงจุดสิ้นสุดของ Python Seaborn Tutorial ฉันหวังว่าคุณจะเข้าใจทุกอย่างชัดเจน ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุด .

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'Python Seaborn Tutorial' และเราจะติดต่อกลับโดยเร็วที่สุด

หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถลงทะเบียนเพื่อถ่ายทอดสด ด้วยการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต