บทที่ 2 การเก็บรวบรวมและสำรวจข้อมูล

การสำรวจข้อมูลโดยใช้กราฟเส้น

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

ขั้นตอนที่ 1: import ไลบรารี pandas เพื่อเรียกใช้งานฟังก์ชันสำหรับอ่านไฟล์ที่มีนามสกุล .csv และ import ไลบรารี matplotlib เพื่อเรียกใช้งานฟังก์ชันสำหรับพล็อตกราฟเส้น โดยใช้คำสั่งดังนี้

                  
                    import pandas as pd
                    import matplotlib.pyplot as plt
                  
                

ขั้นตอนที่ 2: เรียกใช้งานฟังก์ชัน read_csv เพื่ออ่านข้อมูลจากไฟล์ชื่อ average-income.csv และนำมาจัดเก็บไว้ใน data frame ชื่อ df โดยใช้คำสั่งดังนี้

                  
                    df = pd.read_csv ('average-income.csv')
                  
                

ขั้นตอนที่ 3: เตรียมข้อมูลที่จะใช้สำหรับการพล็อตกราฟเส้น ซึ่งประกอบด้วยข้อมูลในแนวแกนนอนและแกนตั้ง สมมติว่าเราต้องการพล็อตกราฟ โดยให้แกนนอนเป็นข้อมูลในคอลัมน์ที่ 0 และแกนตั้งเป็นข้อมูลของแถวที่ 1 ถึงแถวที่ 10 ดังนั้นก่อนการพล็อตกราฟเราจะอ่านข้อมูลในคอลัมน์ที่ 0 มาเก็บไว้ในตัวแปร x และอ่านข้อมูลของแถวที่ 1 ถึง 10 มาเก็บไว้ในตัวแปร y โดยใช้คำสั่งดังนี้

                  
                    x = df.iloc[:, 0]
                    y = df.iloc[:, 1:10].T
                  
                

โดยที่ df.iloc[:, 0] เป็นการเข้าถึงข้อมูลทุกแถวของคอลัมน์ที่ 0 ใน data frame ชื่อ df โดยใช้อินเด็กซ์ และ df.iloc[:, 1:10] เป็นการเข้าถึงข้อมูลทุกแถวของคอลัมน์ที่ 1 ถึงคอลัมน์ที่ 10 ส่วน .T ที่อยู่ด้านหลังหมายถึงการทรานสโพส เนื่องจากฟังก์ชันที่ใช้สำหรับพล็อตกราฟจะพล็อตกราฟของข้อมูลตามแนวคอลัมน์ แต่เราต้องการพล็อตกราฟตามแนวแถว ดังนั้นจึงต้องทำการทรานสโพสก่อนการพล็อตกราฟ และสังเกตว่าการเข้าถึงข้อมูลของทุกแถวเราจะใช้เครื่องหมายโคลอน (:) เป็นอินเด็กซ์ในตำแหน่งแรก แต่ถ้าเราต้องการเข้าถึงข้อมูลทุกคอลัมน์เราจะใช้เครื่องหมายโคลอน (:) เป็นอินเด็กซ์ในตำแหน่งที่สอง


ขั้นตอนที่ 4: หลังจากเตรียมข้อมูลที่จะพล็อตในแนวแกนนอนและแกนตั้งแล้ว ขั้นตอนต่อมาก็คือการพล็อตกราฟเส้นด้วยฟังก์ชัน plot จากไลบรารี matplotlib โดยใช้คำสั่งดังนี้

                  
                    plt.plot(y, marker='s')
                  
                

โดยที่ marker='s' หมายถึง ให้แสดงเครื่องหมายบนกราฟเป็นรูปสี่เหลี่ยม

ถ้าเราต้องการแสดงเส้นกริดในกราฟให้ใช้คำสั่งดังนี้

                  
                    plt.grid()
                  
                

ถ้าเราต้องการแสดงคำอธิบายแกนนอนเป็น 'year' และแกนตั้งเป็น 'income (baht)' ให้ใช้คำสั่งดังนี้

                  
                    plt.xlabel('year')
                    plt.ylabel('income (baht)')
                  
                

ถ้าเราต้องการแสดงกล่องอธิบายกราฟเส้น พร้อมทั้งย้ายกล่องอธิบายกราฟเส้นออกนอกพื้นที่พล็อตกราฟ เราสามารถทำได้โดยใช้คำสั่งดังนี้

                  
                    plt.legend(labels, loc='center left', bbox_to_anchor=(1, 0.5))
                  
                

Python Code

                  
                    import pandas as pd
                    import matplotlib.pyplot as plt
                    df = pd.read_csv ('average-income.csv')
                    x = df.iloc[:, 0]
                    y = df.iloc[:, 1:10].T
                    plt.plot(y, marker='s')
                    plt.grid()
                    plt.xlabel('year')
                    plt.ylabel('income (baht)')
                    plt.legend(labels, loc='center left', bbox_to_anchor=(1, 0.5))