ก่อนที่จะวิเคราะห์ข้อมูลหรือทำกราฟอะไรขึ้นมาสักอย่าง เราต้องนำเข้าข้อมูลที่เราต้องการเอามาวิเคราะห์ก่อน ซึ่งข้อมูลเหล่านั้นอาจจะเป็นข้อมูลที่อยู่ในไฟล์บนเครื่องของเรา หรือข้อมูลบนอินเตอร์เน็ต
นำเข้าข้อมูลจากไฟล์ CSV
เราสามารถนำเข้าข้อมูลภายจากภายนอกที่มี extension เป็น .csv ได้ เราจะใช้ method ชื่อ read.csv() ในการโหลดข้อมูลเหล่านั้นเข้ามา
df = pd.read_csv("filedirectory/file.csv")
หากไฟล์หรือ dataset นั้นอยู่บนเครื่องของเรา วิธีนำเข้าข้อมูลภายนอกมีดังนี้
หา Directory ของไฟล์
เปิด terminal และหาไฟล์นั้น โดยไล่ไปทีละโฟลเดอร์ ให้ใช้คำสั่ง command line ในการหาไฟล์
- ls —> เพื่อให้แสดงไฟล์ทั้งหมดของโฟลเดอร์ที่เราอยู่ขณะนี้
- cd ระบุชื่อโฟลเดอร์ –> เข้าไปในไฟล์หรือโฟลเดอร์ที่เราระบุชื่อ โฟลเดอร์นั้นต้องเป็นโฟลเดอร์ที่แสดงตอนที่เรา ls ก่อนหน้านี้
- cd .. –> กลับไปในโฟล์เดอร์ที่แล้ว
- pwd –> พิมพ์ directory ของโฟลเดอร์นั้น
ตัวอย่าง
maria@Marias-MacBook-Air ~ % ls
Applications Document
Desktop eclipse
maria@Marias-MacBook-Air ~ % cd Document
maria@Marias-MacBook-Air Document % ls
Java JavaWorkspace python
maria@Marias-MacBook-Air Document % cd python
maria@Marias-MacBook-Air python % pwd
/Users/maria/Document/python
maria@Marias-MacBook-Air python % cd ..
maria@Marias-MacBook-Air Document % pwd
/Users/maria/Document
maria@Marias-MacBook-Air Document %
เมื่อพบไฟล์ .csv แล้ว ให้ใช้คำสั่ง pwd เพื่อแสดง directory ที่เราอยู่ จากนั้นคัดลอก directory ที่ได้ เช่น
maria@Marias-MacBook-Air Document % cd python
maria@Marias-MacBook-Air python % ls
scottish_hills.csv
maria@Marias-MacBook-Air python % pwd
/Users/maria/Document/python
จะเห็นว่าไฟล์ .csv อยู่ในโฟลเดอร์ python และเมื่อเราพิมพ์ pwd เราจะได้ directory เป็น /Users/maria/Document/python จากนั้นให้คัดลอก และนำชื่อไฟล์มาต่อท้าย directory นี้ เป็น
/Users/maria/Document/python/scottish_hills.csv
import ไฟล์
เปิด IDE หรือ Editor แล้ว import pandas ก่อน จากนั้นจึง import ไฟล์ด้วย read.csv(‘file directory’) โดยมีไฟล์ directory เป็น argument ข้างใน
ตัวอย่าง
import pandas as pd
scottish_hills = pd.read_csv('/Users/maria/Document/python/scottish_hills.csv')
print(scottish_hills)
output:
Hill Name Height Latitude Longitude Osgrid
0 A' Bhuidheanach Bheag 936.0 56.870342 -4.199001 NN660775
1 A' Chailleach 997.0 57.693800 -5.128715 NH136714
2 A' Chailleach 929.2 57.109564 -4.179285 NH681041
3 A' Chraileag (A' Chralaig) 1120.0 57.184186 -5.154837 NH094147
4 A' Ghlas-bheinn 918.0 57.255090 -5.303687 NH008231
.. ... ... ... ... ...
277 The Saddle 1011.4 57.162395 -5.414721 NG936131
278 Toll Creagach 1054.0 57.309227 -4.999953 NH194282
279 Tolmount 958.0 56.904725 -3.297929 NO210800
280 Tom a' Choinich 1112.0 57.299518 -5.048959 NH164273
281 Tom Buidhe 957.0 56.893615 -3.292356 NO213787
[282 rows x 5 columns]
นำเข้าข้อมูลจากไฟล์ Excel
ไฟล์ Excel เป็นไฟล์อีกรูปแบบหนึ่งที่ได้รับความนิยมมาก เพราะสามารถ manipulate ไฟล์ได้ง่ายๆ ด้วยโปรแกรม Microsoft Excel แม้ไม่มีทักษะการเขียนโปรแกรมก็ทำได้
วิธีนำเข้าข้อมูลจากไฟล์ Excel จะเป็นวิธีเดียวกันกับไฟล์ CSV แค่มันคนละสกุลไฟล์กัน โค้ดก็เลยต่างกันนิดหน่อย โค้ดที่ใช้สำหรับนำเข้าไฟล์ Excel คือ
file = pd.read_excel("filedirectory/file.xlsx")
จากนั้นเรารันโปรแกรมอ่านไฟล์ได้เลย หากต้องการแปลงไฟล์เป็น CSV ก็สามารถทำได้ด้วยคำสั่งต่อไปนี้
file.to_csv("file.csv")
วิธีนี้เราจะแปลงไฟล์ Excel ให้อยู่ในรูป CSV และนำออกข้อมูลทันที ดังนี้หากเปิดโฟลเดอร์ workspace ที่ใช้ก็จะพบไฟล์ CSV เพิ่มขึ้นมาทุกครั้งที่กดรันโปรแกรม กดที่นี่เพื่อดู วิธีนำออกข้อมูล CSV และ Excel แบบง่ายๆ
นำเข้าข้อมูลจากอินเตอร์เน็ต
หากเรามีไฟล์ที่อยู่บนอินเตอร์เน็ตจากแหล่ง dataset อื่น และเราไม่ได้โหลดไฟล์นั้นลงเครื่อง เราสามารถ import ลิ้งค์ที่มี extension .csv มาได้
ตัวอย่าง
กดที่นี่เพื่อคัดลอกลิ้งค์ dataset ตัวอย่าง
import dataset
เราจะใส่ลิ้งค์ของ dataset ที่มี extension .csv แทน directory ไฟล์
ตัวอย่างเช่น
import pandas as pd
nba_players = pd.read_csv('https://media.geeksforgeeks.org/wp-content/uploads/nba.csv')
output:
Name Team ... College Salary
0 Avery Bradley Boston Celtics ... Texas 7730337.0
1 Jae Crowder Boston Celtics ... Marquette 6796117.0
2 John Holland Boston Celtics ... Boston University NaN
3 R.J. Hunter Boston Celtics ... Georgia State 1148640.0
4 Jonas Jerebko Boston Celtics ... NaN 5000000.0
.. ... ... ... ... ...
453 Shelvin Mack Utah Jazz ... Butler 2433333.0
454 Raul Neto Utah Jazz ... NaN 900000.0
455 Tibor Pleiss Utah Jazz ... NaN 2900000.0
456 Jeff Withey Utah Jazz ... Kansas 947276.0
457 NaN NaN ... NaN NaN
[458 rows x 9 columns]
หากใช้ macOS แล้วไม่สามารถแสดงผลได้ แต่ขึ้น Error ในตัวอย่างต่อไปนี้
certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)
ให้เปิด Finder –> Application –> Python แล้วดับเบิ้ลคลิ้กที่ Install Certificates.command มันจะเปิด terminal ขึ้นมาและเริ่มติดตั้งทันที รอจนมันติดตั้งเสร็จ ให้กลับไปรันโค๊ดใน IDE ใหม่