Vùng điều tra dân số thành mã zip Python

các bạn. S. Cục điều tra dân số cung cấp dữ liệu lịch sử về giá thuê gộp trung bình cho các vùng trên khắp Hoa Kỳ. S. Dữ liệu này có sẵn miễn phí thông qua U. S. API điều tra dân số. Nhưng làm thế nào để chúng ta truy cập nó?

Đầu tiên, hãy hiểu tại sao chúng ta nên quan tâm đến giá thuê?

Thu nhập cho thuê là nguồn thu nhập chính để chủ nhà sinh lời và duy trì dòng tiền đều đặn

“Nếu mức giá của bạn quá thấp so với khu vực và tài sản của bạn, bạn có thể không thu hút được người thuê nhà lý tưởng của mình. Nếu tỷ lệ của bạn quá cao, bạn có thể gặp khó khăn trong việc thuê người thuê - và có nguy cơ mất thu nhập hàng tháng của bạn. Công việc của bạn với tư cách là chủ nhà là tìm ra điểm cho thuê hợp lý trên thị trường. không quá cao nhưng cũng không quá thấp. ” — MySmartMove

các bạn. S. Điều tra dân số cung cấp API để truy vấn cơ sở dữ liệu của họ theo chương trình về giá cho thuê dựa trên số lượng phòng ngủ

Tuy nhiên, tài liệu còn hạn chế và khó hiểu đối với các nhà phát triển Python, cho đến bây giờ

Bài đăng này sẽ nhận dữ liệu cho thuê tổng thị trường cho các khu vực địa lý khác nhau bằng Python

Ảnh của George Becker trên PexelsProblem Statement

Chúng tôi cần có tổng tiền thuê trung bình cho các vùng địa lý khác nhau ở Hoa Kỳ. Dữ liệu phải đến từ một nguồn chính phủ đáng tin cậy

Dữ liệu tiền thuê nhà sẽ bao gồm thông tin ở cấp quốc gia và mã zip kể từ năm 2015

Điều này sẽ cho phép chúng tôi xác định các thị trường mới nổi với giá thuê ngày càng tăng

Nguồn dữ liệu

Chúng tôi sẽ sử dụng Dữ liệu 5 năm của Khảo sát Cộng đồng Hoa Kỳ để lấy dữ liệu về tiền thuê nhà

Khảo sát Cộng đồng Hoa Kỳ [ACS] là một cuộc khảo sát đang diễn ra cung cấp dữ liệu hàng năm — cung cấp cho cộng đồng thông tin hiện tại mà họ cần để lập kế hoạch đầu tư và dịch vụ. ACS bao gồm nhiều chủ đề về đặc điểm xã hội, kinh tế, nhân khẩu học và nhà ở của Hoa Kỳ. S. dân số. — bạn. S. Cục điều tra dân số

Điều kiện tiên quyết

Ảnh chụp màn hình của U. S. Điều tra dân số có sẵn API

Yêu cầu

  1. Yêu cầu khóa API điều tra dân số

Tùy chọn [nhà ở + dữ liệu kinh tế]

  1. Đăng ký tài khoản Rapid API miễn phí để nhận API key [Các bước đăng ký RapidAPI]
  2. Đăng ký API dữ liệu thị trường nhà ở Hoa Kỳ
Video hỗ trợ

Sắp có trên Kênh YouTube AnalyticsAriel

Hướng dẫn Python

Nếu bạn không có sẵn môi trường Python, thì tôi thực sự khuyên bạn nên sao chép sổ ghi chép trước tiên [ở cuối bài viết]

Điều này sẽ cho phép bạn chạy mã Python trong Google Colab [miễn phí. ]. Đó là một môi trường dựa trên đám mây cho phép bạn chạy mã mà không cần phải cài đặt Python cục bộ

I. Nhập thư viện

Đầu tiên, nhập các thư viện cần thiết

Đoạn mã cho Nhập khẩu [Hình ảnh của tác giả được tạo bằng snappify. io]II. Địa phương & hằng số

Đăng ký khóa API Điều tra dân số

[Tùy chọn] Đăng ký tài khoản RapidAPI miễn phí và đăng ký Dữ liệu Thị trường Nhà ở Hoa Kỳ

Tạo các biến để giữ các khóa API của chúng tôi

Đoạn mã cho khóa API [Hình ảnh do tác giả tạo bằng snappify. io]III. Dữ liệu

các bạn. S. Điều tra dân số 2020 Các biến trong bảng chi tiết ACS có danh sách tất cả các thuộc tính mà bạn có thể truy vấn từ API điều tra dân số

Một trong những biến số trong danh sách là tổng tiền thuê trung bình theo phòng ngủ

Ảnh chụp màn hình của Tác giả của U. S. Đối tượng JSON Tổng tiền thuê trung bình của Điều tra dân số

Để truy vấn API, chúng ta cần chỉ định tên biến. Tên biến nằm dưới cột “NAME” — B25031_001E

Ở đây chúng tôi chỉ định tên biến [B25031_001E] và năm [2020] của U. S. Khảo sát điều tra dân số mà chúng tôi muốn truy vấn

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

khu vực quốc gia

Bây giờ chúng ta có thể bắt đầu truy vấn dữ liệu tổng tiền thuê trung bình theo khu vực bắt đầu từ cấp quốc gia

Trong Ví dụ về ACS 2020, chúng ta có thể xem các ví dụ về biến truy vấn cho các vùng địa lý khác nhau

Để lấy dữ liệu ở cấp quốc gia, chúng tôi chỉ định các tham số sau

  1. Năm — 2020
  2. Các biến — B25031_001E [giá thuê trung bình]
  3. Khu vực — chúng tôi. * [toàn bộ Hoa Kỳ]
  4. Khóa — Khóa API điều tra dân số

Sau đó, chúng tôi chuyển URL của mình để lấy các tham số của chúng tôi dưới dạng yêu cầu tới API

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Mã trạng thái của phản hồi của chúng tôi là 200. Điều này có nghĩa là yêu cầu của chúng tôi đã thành công

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Hãy xem nội dung của câu trả lời

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Điều này trả về một chuỗi có tên cột và dữ liệu

Cái này khó đọc. Chúng ta có thể làm tốt hơn

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Hãy chuyển đổi phản hồi của chúng ta thành một đối tượng JSON

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Dữ liệu của chúng tôi hiện đã được sắp xếp và chúng tôi có thể truy vấn các đối tượng trong đó

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Tuy nhiên, tôi tin rằng cách dễ nhất để làm việc với dữ liệu là lưu ý đến bảng tính

Đây là lý do tại sao chúng tôi sẽ chuyển đổi đối tượng phản hồi JSON của mình thành Pandas DataFrame

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Bây giờ chúng ta có một đối tượng dạng bảng với các hàng và cột

Các cột của chúng tôi đại diện cho ba trường. [1] khu vực địa lý, [2] tổng giá thuê trung bình tất cả các phòng ngủ và [3] số khu vực

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Hãy đổi tên biến giá thuê trung bình thành một tên mà chúng ta có thể dễ dàng nhận ra

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Tuyệt vời, bây giờ chúng tôi có tổng tiền thuê trung bình ở cấp quốc gia

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Tiếp theo, hãy để chúng tôi có được dữ liệu chi tiết hơn

Vùng Mã Zip

Để chúng tôi có được dữ liệu ở cấp mã zip, chúng tôi cần chỉ định các vùng điều tra dân số

Vùng điều tra dân số là đa giác và bao phủ một khu vực địa lý được xác định rõ

Ghi chú. Vùng điều tra dân số không phải là 1. 1 ánh xạ tới mã zip

Điều này có nghĩa là một vùng điều tra dân số có thể trùng lặp giữa nhiều mã zip. Đồng thời, một mã zip có thể có nhiều vùng điều tra dân số

Hình ảnh của Hiệp hội tín dụng liên bang Tampa Bay về các vùng điều tra dân số

Một giải pháp hoàn hảo sẽ là liên kết các vùng điều tra dân số theo tỷ lệ phần trăm với mỗi mã zip. Tuy nhiên, đối với phân tích này, chúng tôi sẽ gắn bó với 1. 1 ánh xạ cho đơn giản

Về lý thuyết, giá thuê không thay đổi mạnh trong một vài khối. Do đó, chỉ cần trùng lặp một chút trong các vùng điều tra dân số và mã zip là đủ. Chúng tôi sẽ sử dụng bộ dữ liệu HUD để ánh xạ đường tới mã zip

Xem phân tích của UCF để biết đánh giá chi tiết về Vùng điều tra dân số và Mã ZIP

Hướng dẫn nghiên cứu UCF. Thống kê, Nhân khẩu học và Điều tra dân số. Mã ZIP > Vùng điều tra dân số

Khu vực lập bảng mã ZIP [ZCTA] "là các đại diện khu vực tổng quát của U. S. Dịch vụ Bưu điện [USPS] Dịch vụ mã ZIP…

hướng dẫn. ucf. giáo dục

Dữ liệu đường HUD

Để lấy mã zip để thu thập thông tin, chúng tôi đọc trong bộ dữ liệu HUD từ Github bằng Pandas

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Bộ dữ liệu HUD chứa 8 cột bao gồm cả ZIP. MÁY KÉO. THÀNH PHỐ. TIỂU BANG

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Dường như có lỗi với mã zip của chúng tôi. Hàng đầu tiên của chúng tôi hiển thị mã zip dưới dạng 3 ký tự - “683”. cho bạn. S. mã zip mà chúng tôi biết rằng chúng phải có 5 ký tự - “00684”

Lỗi này xảy ra do Pandas tự động diễn giải loại cho dữ liệu của chúng tôi. Trong trường hợp này, Pandas liên kết ZIP dưới dạng số nguyên. Vì không có số nào như “00684”, các số 0 sẽ tự động bị xóa

Hãy áp dụng logic để thực hiện làm sạch dữ liệu trên DataFrame của chúng tôi

Trước tiên, chúng tôi xác định một chức năng mới zip_code_to_str sẽ dọn sạch cột ZIP của chúng tôi

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Tiếp theo, chúng tôi sửa đổi các cột ZIP và TRACT

Ở đây chúng ta có thể thấy cột TRACT của chúng ta là 10 ký tự. Điều này không chính xác — TRACT_CODES có 6 ký tự

TRACT trong DataFrame của chúng tôi là sự kết hợp của STATE_CODE. COUNTY_CODE. TRACT_CODE

Hãy chia trường này thành 3 trường con để có đúng TRACT_CODE

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Bây giờ trong đầu ra của chúng tôi, chúng tôi đã dọn sạch các trường ZIP và TRACT. Chúng tôi cũng có 3 cột mới ở cuối bao gồm TRACT_CODE

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Hãy xem tập dữ liệu đã được làm sạch của chúng tôi cho một mã zip. Ở đây tôi đang nhập mã zip cho Hyde Park, Tampa, FL

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Đầu ra của chúng tôi bao gồm 7 vùng khác nhau cho một mã zip

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Nhận dữ liệu điều tra dân số

Giờ đây, chúng tôi sẽ nhận được dữ liệu tổng tiền thuê trung bình cho từng khu vực điều tra dân số trong mã zip mẫu duy nhất của chúng tôi — 33606

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Chúng tôi sẽ lấy dữ liệu cho U mới nhất. S. Báo cáo ACS 5 năm của Điều tra dân số — 2020

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Để lấy dữ liệu ở cấp độ đường, chúng tôi chỉ định các tham số sau

  1. Năm — 2020
  2. Các biến — B25031_001E [giá thuê trung bình]
  3. Tract Str — 005500…004900 [tất cả các vùng cho mã zip duy nhất của chúng tôi]
  4. Bang — 12 [Florida]
  5. Quận — 057 [Quận Hillsborough]
  6. Khóa — Khóa API điều tra dân số

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Tiếp theo, chúng tôi chuyển đổi phản hồi của mình thành DataFrame

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Bây giờ chúng tôi có median_rent_all_bds trên mỗi vùng

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Hãy tính giá trị trung bình trên tất cả các vùng để có được median_rent_all_bds cho năm 2020

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Giá thuê trung bình cho năm 2020 là $1,467

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Thông tin này có thể được tăng cường bằng cách xem giá thuê trung bình theo thời gian

IV. Dữ liệu lịch sử [Vòng lặp]

Tạo một danh sách các năm để truy vấn U. S. API điều tra dân số cho tổng tiền thuê trung bình

Dữ liệu chúng tôi đang yêu cầu sẽ có từ Khảo sát ACS 2015

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

API dữ liệu điều tra dân số

Ở đây chúng tôi sẽ thiết lập một danh sách trống cho DataFrames. Danh sách này sẽ chứa đầy các phản hồi về tổng tiền thuê trung bình ở cấp mã zip mỗi năm

Chúng tôi thực hiện 6 yêu cầu riêng cho API mỗi năm. Mỗi phản hồi được chuyển thành DataFrame và được lưu trữ trong đối tượng df_list

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Hãy kết hợp danh sách DataFrames và xem giá thuê trung bình trong tất cả các năm

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Đầu ra của chúng tôi bao gồm 41 hàng

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Hãy nhóm theo năm để xem tổng tiền thuê trung bình theo năm

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Giá thuê Hyde Park tăng đều theo năm [Year over Year]

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Nếu chúng ta muốn có thêm dữ liệu kinh tế thì sao?

Bằng cách truy vấn API Dữ liệu Thị trường Nhà ở Hoa Kỳ [tùy chọn], chúng tôi có thể thực hiện một yêu cầu duy nhất để truy xuất nhiều trường dữ liệu nhà ở

API dữ liệu thị trường nhà ở Hoa Kỳ

Chúng tôi yêu cầu Dữ liệu thị trường nhà ở Hoa Kỳ cho một mã zip duy nhất — 33606

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Bộ dữ liệu của chúng tôi bao gồm 72 hàng thuộc tính dữ liệu kinh tế và nhà ở. Wow thật là nhiều thông tin

Điều này bao gồm dữ liệu điều tra dân số về tiền thuê nhà trung bình theo phòng ngủ, điều tra dân số thu nhập hộ gia đình trung bình và các số liệu thống kê kinh tế bổ sung do Redfin cung cấp [i. e. hàng tồn kho, doanh số trung bình, danh sách mới, v.v. ]

Đầu ra mã [Hình ảnh do tác giả tạo làm ảnh chụp màn hình]V. Hình dung

Ở đây, chúng tôi sử dụng biểu đồ đường Plotly Express để trực quan hóa tổng tiền thuê trung bình từ Hoa Kỳ. S. API điều tra dân số và API dữ liệu thị trường nhà ở Hoa Kỳ

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Đầu ra của chúng tôi là một biểu đồ đường tương tác. Điều này cho phép chúng tôi hình dung mức tăng trưởng hoặc giảm giá thuê gộp trung bình của khu vực

Chúng tôi cũng có thể nhúng đồ họa này vào trang web của chúng tôi

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Hãy vẽ sơ đồ tổng tiền thuê trung bình từ API dữ liệu thị trường nhà ở Hoa Kỳ

Trong yêu cầu duy nhất của chúng tôi đối với API Dữ liệu Thị trường Nhà ở Hoa Kỳ, chúng tôi đã nhận được mức giá cho thuê trung bình theo loại phòng ngủ và theo năm. Điều này đơn giản hóa quá trình thu thập dữ liệu lịch sử của chúng tôi

Bây giờ chúng tôi có thể chọn các cột liên quan đến tiền thuê mà chúng tôi quan tâm

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Bằng cách làm tan DataFrame của chúng tôi, chúng tôi có thể dễ dàng vẽ dữ liệu tiền thuê nhà theo loại phòng ngủ

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình]

Trong hàm Plotly Express Line, chúng tôi chuyển “num_bds” vào tham số màu để chia dữ liệu theo số phòng ngủ

Đoạn mã [Hình ảnh do tác giả tạo bằng snappify. i]

Ở đây có thể thấy giá thuê trung bình cho loại 3 phòng ngủ là loại có giá trị cao nhất trong các loại phòng ngủ. Điều này trực giác có ý nghĩa vì nhiều phòng ngủ hơn thường có nghĩa là không gian rộng hơn [sqft] và do đó tiền thuê cao hơn

Đầu ra mã [Hình ảnh do tác giả tạo dưới dạng ảnh chụp màn hình] Kết luận

Hãy xem kênh YouTube của tôi — AnalyticsAriel để hiểu rõ hơn về các nguồn dữ liệu bất động sản và phân tích dữ liệu

Chủ Đề