ไลบรารี่การแสดงข้อมูล Python อันดับต้นๆ ที่คุณควรรู้
เผยแพร่แล้ว: 2020-03-20Python สามารถทำอะไรได้หลายอย่างกับข้อมูล และหนึ่งในความสามารถมากมายของมันคือการแสดงภาพ มีหลายไลบรารีที่คุณสามารถใช้เพื่อจุดประสงค์นี้ ในบทความนี้ เราจะมาดูไลบรารีที่โดดเด่นบางส่วนและกราฟต่างๆ ที่คุณสามารถพล็อตผ่านไลบรารีเหล่านั้นได้
สารบัญ
การแสดงข้อมูล 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 จากระดับที่ละเอียดที่สุด