Corise — Python สำหรับวิทยาศาสตร์ข้อมูล

Dec 12 2022
โครงการ 1 — Airbnb ฉันเริ่มเขียนโค้ดใน Python สำหรับโครงการหนึ่งสัปดาห์สำหรับ Corise ฉันพบว่าภาษานี้มีความหลากหลายและง่ายต่อการเรียนรู้อย่างเหลือเชื่อในขณะที่ใช้ฟังก์ชันต่างๆ ของ Numpy

โครงการ 1 — Airbnb

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

เริ่มต้นใช้งาน Python และ Numpy

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

  • ลบคอลัมน์และแถวแรก
  • พิมพ์สี่คอลัมน์แรก
  • เลื่อนเมทริกซ์ไป 90 องศาโดยใช้เมทริกซ์ ' ทรานสโพส' ฟังก์ชัน
  • พิมพ์ 5 แถวแรก
  • ลบแถวและคอลัมน์ส่วนหัวออก และพิมพ์ 3 คอลัมน์สุดท้าย

จากนั้นเราได้เพิ่มคำสั่ง 'พิมพ์' เพื่อแสดงผลสำหรับแต่ละขั้นตอนข้างต้น

การแปลงสกุลเงินเป็น Numpy

ตอนนี้เราได้ล้างข้อมูลแล้ว เราต้องการใช้รหัส 'currency_converter' เพื่อแปลงเป็นสกุลเงินที่เราเลือก ก่อนอื่น ฉันนำเข้าห้องสมุดโดยใช้ ' from currency_converter import CurrencyConverter' หลังจากเสร็จสิ้น สกุลเงินที่ฉันตัดสินใจใช้คือ “GBP” และแปลงสกุลเงินจาก 'USD' เป็น 'GBP'

  • รหัสที่ใช้มีดังต่อไปนี้:
  • gbp_rate = cc.convert(1, 'USD', 'GBP')
  • พิมพ์(gbp_rate) …… ตามด้วยคำแนะนำในการคูณคอลัมน์ดอลลาร์ด้วยสกุลเงินที่ใช้ (เช่น: GBP) เพื่อคำนวณอัตรา)
  • พิมพ์(เมทริกซ์[:, 1]) …… ตามด้วยคำสั่งให้พิมพ์มูลค่าของดอลลาร์ในเมทริกซ์
  • # คูณคอลัมน์ดอลลาร์ด้วยอัตราเงินเฟ้อ (1.00 + อัตราเงินเฟ้อ)
  • เมทริกซ์[:, 1] = เมทริกซ์[:, 1] * 1.07
  • พิมพ์(เมทริกซ์[:, 1]) …… ตามด้วยคำสั่งให้พิมพ์มูลค่าของดอลลาร์ในเมทริกซ์หลังจากคูณด้วยอัตราเงินเฟ้อแล้ว
  • ส่วนนี้ค่อนข้างง่ายและรวดเร็ว เราสร้างลูปเพื่อคำนวณระยะทางสำหรับละติจูดและลองจิจูดจากชุดข้อมูลที่ดาวน์โหลด ส่วนนี้ค่อนข้างง่ายและรวดเร็ว สำหรับส่วนนี้ของโครงการ เราได้สร้างฟังก์ชันที่สามารถวนซ้ำแต่ละองค์ประกอบในเวกเตอร์ลองจิจูดและละติจูดได้ ฟังก์ชันที่สร้างขึ้นมีชื่อว่า "ระยะทาง" และระบุสองอาร์กิวเมนต์: ละติจูดและลองจิจูด จากนั้นฉันใช้โค้ดบรรทัดนี้เพื่อวนซ้ำค่าในแต่ละคอลัมน์ในชุดข้อมูล

    รหัสที่ใช้ในฟังก์ชัน timeit แสดงอยู่ด้านล่าง:

    # อนุญาตให้ใช้ฟังก์ชัน Python ในลักษณะ (กึ่ง) vectorized>> conv_to_meters = np.vectorize(from_location_to_airbnb_listing_in_meters)

    # ใช้ฟังก์ชั่นใช้เวลา >>>> conv_to_meters (ละติจูด, ลองจิจูด, เมทริกซ์ [:, 2], เมทริกซ์ [:, 3])

    การสร้างแอปใน Streamlit และปรับใช้บน GitHub

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

    สรุป

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

    อย่าลังเลที่จะติดตามฉันบนMedium , Twitter , LinkedInและGithub ฉันจะโพสต์เนื้อหาเพิ่มเติมระหว่างการเดินทางของข้อมูลที่นี่และในบัญชีโซเชียลอื่นๆ ของฉัน