ไลบรารี่การแสดงข้อมูล Python อันดับต้นๆ ที่คุณควรรู้

เผยแพร่แล้ว: 2020-03-20

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

สารบัญ

การแสดงข้อมูล Python

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

Python Data Visualization Libraries

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

  • ซีบอร์น
  • Matplotlib
  • แพนด้า

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

Matplotlib

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

ผู้คนใช้ Matplotlib สำหรับการแสดงภาพอย่างง่าย เช่น แผนภูมิแท่งและฮิสโตแกรม

อ่าน : Data Frames ใน Python

แผนภูมิเส้น

ในการสร้างแผนภูมิเส้น คุณจะต้องใช้วิธี 'พล็อต' คุณสามารถสร้างคอลัมน์หลายคอลัมน์ในกราฟได้ด้วยการวนคอลัมน์ ใช้รหัสต่อไปนี้เพื่อจุดประสงค์นี้:

# รับคอลัมน์ที่จะลงจุด

คอลัมน์ = iris.columns.drop(['class'])

# สร้าง x data

x_data = ช่วง (0, iris.shape[0])

#สร้างร่างและแกน

มะเดื่อ ขวาน = plt.subplots()

# พล็อตแต่ละคอลัมน์

สำหรับคอลัมน์ในคอลัมน์:

ax.plot(x_data, ม่านตา[คอลัมน์], label=column)

#ตั้งชื่อและตำนาน

ax.set_title('ชุดข้อมูลไอริส')

ขวานตำนาน()

พล็อตกระจาย

คุณสามารถสร้างพล็อตกระจายโดยใช้วิธี 'กระจาย' คุณควรสร้างแกนและตัวเลขผ่าน 'plt.subplots' เพื่อให้ป้ายโครงเรื่องและชื่อเรื่องของคุณ

ใช้รหัสต่อไปนี้:

#สร้างร่างและแกน

มะเดื่อ ขวาน = plt.subplots()

# กระจาย sepal_length กับ sepal_width

ax.scatter(ม่านตา['sepal_length'], ม่านตา['sepal_width'])

# ตั้งชื่อและป้ายกำกับ

ax.set_title('ชุดข้อมูลไอริส')

ax.set_xlabel('sepal_length')

ax.set_ylabel('sepal_width')

คุณสามารถเพิ่มสีให้กับจุดข้อมูลตามชั้นเรียนได้ เพื่อจุดประสงค์นี้ คุณจะต้องสร้างพจนานุกรมที่จะจับคู่จากคลาสหนึ่งไปยังอีกสีหนึ่ง มันจะกระจายแต่ละจุดโดยใช้ for-loop เช่นกัน

# สร้างพจนานุกรมสี

สี = {'Iris-setosa':'r', 'Iris-versicolor':'g', 'Iris-virginica':'b'}

#สร้างร่างและแกน

มะเดื่อ ขวาน = plt.subplots()

# พล็อตแต่ละจุดข้อมูล

สำหรับฉันอยู่ในช่วง (len(iris['sepal_length'])):

ax.scatter(ม่านตา['sepal_length'][i], iris['sepal_width'][i],color=colors[iris['class'][i]])

# ตั้งชื่อและป้ายกำกับ

ax.set_title('ชุดข้อมูลไอริส')

ax.set_xlabel('sepal_length')

ax.set_ylabel('sepal_width')

ฮิสโตแกรม

คุณสามารถใช้วิธี 'hist' เพื่อสร้างฮิสโตแกรมใน Matplotlib สามารถคำนวณความถี่ของทุกคลาสที่เกิดขึ้นได้หากเราให้ข้อมูลที่เป็นหมวดหมู่ นี่คือรหัสที่คุณต้องใช้ในการลงจุดฮิสโตแกรมใน Matplotlib:

#สร้างร่างและแกน

มะเดื่อ ขวาน = plt.subplots()

#พล็อตฮิสโตแกรม

ax.hist(wine_reviews['points'])

# ตั้งชื่อและป้ายกำกับ

ax.set_title('คะแนนรีวิวไวน์')

ax.set_xlabel('แต้ม')

ax.set_ylabel('ความถี่')

แผนภูมิแท่ง

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

#สร้างร่างและแกน

มะเดื่อ ขวาน = plt.subplots()

#นับการเกิดของแต่ละคลาส

ข้อมูล = wine_reviews['points'].value_counts()

# รับข้อมูล x และ y

คะแนน = data.index

ความถี่ = data.values

#สร้างแผนภูมิแท่ง

ax.bar (จุด, ความถี่)

# ตั้งชื่อและป้ายกำกับ

ax.set_title('คะแนนรีวิวไวน์')

ax.set_xlabel('แต้ม')

ax.set_ylabel('ความถี่')

แพนด้า

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

ด้วยการใช้ data frame pandas คุณสามารถสร้างแผนภาพสำหรับข้อมูลของคุณได้อย่างง่ายดาย API ของมันนั้นล้ำหน้ากว่า Matplotlib ซึ่งหมายความว่าคุณสามารถสร้างกราฟที่มีโค้ดใน Pandas น้อยกว่าที่คุณสร้างใน Matplotlib

แผนภูมิแท่ง

ใน Pandas คุณจะต้องใช้เมธอด 'plot.bar()' เพื่อพล็อตแผนภูมิแท่ง ขั้นแรก คุณจะต้องนับสิ่งที่เกิดขึ้นในพล็อตของคุณผ่าน 'value_count()' แล้วจัดเรียงด้วย 'sort_index()' นี่คือตัวอย่างโค้ดสำหรับสร้างแผนภูมิแท่ง:

random_reviews['points'].value_counts().sort_index().plot.bar() สุ่มตรวจ

คุณสามารถใช้วิธี 'plot.barh()' เพื่อสร้างแผนภูมิแท่งแนวนอนใน Pandas:

random_reviews['points'].value_counts().sort_index().plot.barh() สุ่มตรวจ

คุณสามารถพล็อตข้อมูลผ่านจำนวนครั้งได้เช่นกัน:

random_reviews.groupby("ประเทศ").price.mean().sort_values(น้อยไปมาก=เท็จ)[:5].plot.bar()

แผนภูมิเส้น

คุณจะต้องใช้ '<dataframe>.plot.line()' เพื่อสร้างแผนภูมิเส้นใน Pandas ใน Pandas คุณไม่จำเป็นต้องวนซ้ำทุกคอลัมน์ที่คุณต้องการลงจุดเนื่องจากสามารถทำได้โดยอัตโนมัติ ฟีเจอร์นี้ไม่มีใน Matplotlib นี่คือรหัส:

random.drop(['class'], axis=1).plot.line(title='ชุดข้อมูลสุ่ม')

พล็อตกระจาย

คุณสามารถสร้างพล็อตกระจายใน Pandas โดยใช้ “<dataset>.plot.scatter()” คุณต้องส่งผ่านอาร์กิวเมนต์สองอาร์กิวเมนต์ ซึ่งก็คือ ชื่อของคอลัมน์ x และคอลัมน์ y

นี่คือตัวอย่าง:

random.plot.scatter(x='sepal_length', y='sepal_width', title=”ชุดข้อมูลสุ่ม')

ฮิสโตแกรม

ใช้ 'plot.hist' เพื่อสร้างฮิสโตแกรมใน Pandas นอกจากนั้น วิธีนี้ไม่มีอะไรมาก คุณมีตัวเลือกในการสร้างฮิสโตแกรมเดียวหรือหลายฮิสโตแกรม

ในการสร้างฮิสโตแกรมหนึ่งรายการ ให้ใช้รหัสต่อไปนี้:

random_reviews['points'].plot.hist()

หากต้องการสร้างฮิสโตแกรมหลายรายการ ให้ใช้สิ่งนี้:

random.plot.hist(subplots=True, layout=(2,2), figsize=(10, 10), bins=20)

ซีบอร์น

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

ฮิสโตแกรม

แผนภูมิเส้น

คุณสามารถใช้วิธี 'sns.line plot' เพื่อสร้างแผนภูมิเส้นใน Seaborn คุณสามารถใช้วิธี 'sns.kdeplot' เพื่อปัดเศษขอบของเส้นโค้งของเส้น มันทำให้พล็อตของคุณค่อนข้างสะอาดหากมีค่าผิดปกติจำนวนมาก

sns.lineplot(data=random.drop(['class'], axis=1))

พล็อตกระจาย

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

sns.scatterplot(x='sepal_length', y='sepal_width', data=iris)

โดยใช้อาร์กิวเมนต์ 'hue' คุณสามารถเน้นจุดเฉพาะได้เช่นกัน ฟีเจอร์นี้ไม่ง่ายใน Matplotlib

sns.scatterplot(x='sepal_length', y='sepal_width', hue='class', data=iris)

แผนภูมิแท่ง

คุณสามารถใช้วิธี 'sns.countplot' เพื่อสร้างแผนภูมิแท่งใน Seaborn:

sns.countplot(random_reviews['points'])

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

การแสดงข้อมูลในรูปแบบอื่นใน Python

แผนภูมิวงกลม

แผนภูมิวงกลมแสดงข้อมูลในส่วนต่างๆ ของวงกลม คุณต้องเคยเห็นแผนภูมิวงกลมมากมายในโรงเรียน แผนภูมิวงกลมแสดงข้อมูลเป็นเปอร์เซ็นต์ ผลรวมของทุกส่วนของแผนภูมิวงกลมควรเท่ากับ 100% นี่คือรหัสตัวอย่าง:

plt.pie(df['Age'], ป้ายกำกับ = {"A", "B", "C",

“ด”, “อี”, “ฟ”,

“G”, ​​“H”, “ฉัน”, “J”},

autopct ='% 1.1f %%', เงา = จริง)

plt.show()

plt.pie(df['รายได้'], ป้ายกำกับ = {"A", "B", "C",

“ด”, “อี”, “ฟ”,

“G”, ​​“H”, “ฉัน”, “J”},

autopct ='% 1.1f %%', เงา = จริง)

plt.show()

plt.pie(df['Sales'], ป้ายกำกับ = {"A", "B", "C",

“ด”, “อี”, “ฟ”,

“G”, ​​“H”, “ฉัน”, “J”},

autopct ='% 1.1f %%', เงา = จริง)

plt.show()

แปลงกล่อง

แผนภาพกล่องจะขึ้นอยู่กับค่าต่ำสุด ควอไทล์ที่หนึ่ง ค่ามัธยฐาน ควอร์ไทล์ที่สาม และข้อมูลทางสถิติสูงสุด กราฟดูเหมือนกล่อง (โดยเฉพาะอย่างยิ่ง สี่เหลี่ยมผืนผ้า) จึงเป็นที่มาของชื่อ 'box plot' นี่คือตัวอย่างโค้ดสำหรับสร้างกราฟการลงจุดแบบกล่อง:

# สำหรับแต่ละแอตทริบิวต์ที่เป็นตัวเลขของ data frame

df.plot.box()

# พล็อตกล่องแอตทริบิวต์ส่วนบุคคล

plt.boxplot(df['รายได้'])

plt.show()

อ่านเพิ่มเติม: เครื่องมือ Python 10 อันดับแรกที่นักพัฒนา Python ทุกคนควรรู้

บทสรุป

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

หากคุณอยากเรียนรู้เกี่ยวกับ python, data science, ลองดู IIIT-B & upGrad's PG Diploma in Data Science ซึ่งสร้างขึ้นสำหรับมืออาชีพด้านการทำงานและเสนอกรณีศึกษาและโครงการมากกว่า 10 รายการ, การประชุมเชิงปฏิบัติการเชิงปฏิบัติ, การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม ตัวต่อตัวกับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

ไลบรารี Data Visualization ที่ดีที่สุดใน Python คืออะไร

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

เพื่อลดความซับซ้อนของกระบวนการสร้างภาพข้อมูล มีบางไลบรารีใน Python ที่จะช่วยคุณได้ คุณไม่สามารถพูดได้ว่าใครดีที่สุดเพราะนั่นจะขึ้นอยู่กับข้อกำหนดทั้งหมด ไลบรารีการสร้างภาพข้อมูลที่ดีที่สุดบางตัวใน Python ได้แก่ matplotlib, plotly, seaborn, GGplot และ altair

ไลบรารีการพล็อตตัวใดดีที่สุดใน Python

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

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

ไลบรารีการสร้างภาพข้อมูลเริ่มต้นสำหรับนักวิทยาศาสตร์ข้อมูลคือข้อใด

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

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