Corise — Python cho Khoa học dữ liệu
Dự án 1 — Airbnb
Tôi bắt đầu viết mã bằng Python cho dự án tuần một của mình cho Corise. Tôi thấy ngôn ngữ này cực kỳ linh hoạt và dễ học khi áp dụng các hàm Numpy khác nhau. Tôi thấy rằng việc sử dụng Numpy đã hợp lý hóa mã của tôi và tạo ra một sản phẩm cuối ngắn gọn hơn, cho phép tôi dành nhiều thời gian hơn cho các thuật toán. Chúng tôi đã làm việc ngoài không gian cộng tác của google cho dự án của mình. Tuy nhiên, tôi nhận thấy rằng việc sử dụng máy tính trong không gian chung đôi khi có thể khiến bạn mất tập trung. Cuối cùng, tôi đã chuyển tất cả các cài đặt chia sẻ màn hình của mình sang chế độ riêng tư, cài đặt này hoạt động tốt với tôi vì tôi tập trung nhiều hơn vào việc lấy mã đúng hơn là vào những gì người khác đang làm. Trước khi chúng tôi bắt đầu dự án, tôi có rất ít kinh nghiệm lập trình nên tôi rất lo lắng về việc tạo một chương trình đơn giản sử dụng Numpy.
Bắt đầu với Python và Numpy
Để bắt đầu với Numpy, chúng tôi đã tải xuống bộ dữ liệu Airbnb để dọn dẹp. Tập dữ liệu bao gồm thông tin về vị trí của các tài sản cho thuê được thu thập bởi người dùng Airbnb ở Amsterdam. Khi tôi tải tập dữ liệu xuống, tôi không ngạc nhiên khi thấy đó là một tệp lớn. Sau khi tập dữ liệu được tải lên, đã đến lúc dọn dẹp nó. Chúng tôi muốn loại bỏ các đầu trang, chân trang, ID trùng lặp và những thứ linh tinh khác khiến tệp khó đọc.
- Xóa cột và hàng đầu tiên.
- In ra bốn cột đầu tiên.
- Dịch chuyển ma trận 90 độ bằng lệnh 'matrix. chức năng chuyển vị'.
- In ra 5 hàng đầu tiên.
- Xóa hàng và cột tiêu đề và in 3 cột cuối cùng.
Sau đó, chúng tôi đã thêm câu lệnh ' print' để hiển thị kết quả cho từng bước ở trên.
Chuyển đổi tiền tệ trong Numpy
Bây giờ chúng tôi đã làm sạch dữ liệu, chúng tôi muốn sử dụng mã 'currency_converter' để chuyển đổi nó thành loại tiền mà chúng tôi chọn. Trước tiên, tôi đã nhập thư viện bằng cách sử dụng ' from currency_converter import CurrencyConverter'. Sau khi hoàn thành, đơn vị tiền tệ tôi quyết định sử dụng là “GBP" và chuyển đổi đơn vị tiền tệ từ 'USD' thành 'GBP'.
- Mã được sử dụng như sau:
- gbp_rate = cc.convert(1, 'USD', 'GBP')
- print(gbp_rate)…… tiếp theo là hướng dẫn nhân cột đô la với đơn vị tiền tệ được sử dụng ( tức là: GBP) để tính tỷ giá.)
- print(matrix[:, 1])…… theo sau là hướng dẫn in giá trị của các đô la trong ma trận.
- # Nhân cột đô la với tỷ lệ phần trăm lạm phát (1,00 + lạm phát)
- ma trận[:, 1] = ma trận[:, 1] * 1,07
- print(matrix[:, 1])…… theo sau là hướng dẫn in giá trị của đô la trong ma trận sau khi nó đã được nhân với tỷ lệ lạm phát.
Phần này khá đơn giản và nhanh chóng. Chúng tôi đã tạo một vòng lặp để tính toán khoảng cách cho vĩ độ và kinh độ từ tập dữ liệu đã tải xuống của chúng tôi. Phần này khá đơn giản và nhanh chóng. Đối với phần này của dự án, chúng tôi đã tạo một hàm có thể lặp qua từng phần tử trong vectơ kinh độ và vĩ độ. Hàm được tạo có tên là "khoảng cách" và nhận hai đối số: vĩ độ và kinh độ. Sau đó, tôi đã sử dụng dòng mã này để lặp qua các giá trị trong mỗi cột trong tập dữ liệu.
Mã được sử dụng trong hàm timeit được hiển thị bên dưới:
# Cho phép sử dụng hàm Python theo cách véc tơ hóa (bán)>> conv_to_meters = np.vectorize(from_location_to_airbnb_listing_in_meters)
# Áp dụng hàm, sử dụng thời gian>>>> conv_to_meters(vĩ độ, kinh độ, ma trận[:, 2], ma trận[:, 3])
Tạo một ứng dụng trong Streamlit và triển khai nó trên GitHub
Bằng cách sử dụng nền tảng Streamlit, chúng tôi đã tạo một ứng dụng cho danh mục đầu tư của mình để hiển thị đoạn mã trên đại diện cho Dữ liệu Airbnb. Khi làm như vậy, chúng tôi có thể tạo một kho lưu trữ trên GitHub chứa dữ liệu thô, ứng dụng streamlit trong đó dữ liệu đã được hiển thị và trang web chứa toàn bộ danh mục mã. Từ đây tôi có thể công khai ứng dụng để người dùng có thể truy cập những gì đã được tạo. Nếu họ chọn đóng góp, họ có thể chỉ cần rẽ nhánh dự án vào tài khoản GitHub của riêng họ và từ đó đẩy mọi thay đổi và cập nhật họ đã thực hiện vào kho lưu trữ hoặc thực hiện bất kỳ điều chỉnh nào họ muốn miễn là họ duy trì tài khoản ban đầu của mình được liên kết với kho lưu trữ ban đầu .
Kết luận
Nhìn chung, dự án này đã dạy cho tôi nền tảng của Numpy đồng thời hiển thị những khả năng vô tận khi thao tác và phân tích dữ liệu bằng chương trình này và phần mềm phân tích dữ liệu khác như R. Tôi tin rằng biết cách thao tác và xem dữ liệu như nó vốn có là quan trọng để thành công trong bất kỳ lĩnh vực khoa học nào. Tôi cũng tin rằng việc có khả năng xử lý dữ liệu từ nhiều nguồn khác nhau như vậy giúp hiểu rõ hơn về cách thế giới vận hành. Tuần này chúng ta bắt đầu cuộc hành trình đến với Pandas, điều mà tôi cũng rất hào hứng. Tôi nghĩ rằng những công cụ này sẽ giúp chúng tôi có thể cấu trúc dữ liệu của mình theo cách mà chúng tôi có thể trích xuất thông tin hữu ích từ nó.
Vui lòng theo dõi tôi trên Medium , Twitter , LinkedIn và Github . Tôi sẽ đăng nhiều tài liệu hơn trong hành trình thu thập dữ liệu của mình tại đây và trên các tài khoản xã hội khác của tôi.

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































