Cách xóa dữ liệu địa chỉ trong python

Mặc dù các chương trình bảng tính và trình soạn thảo văn bản có thể được sử dụng để làm sạch dữ liệu theo cách thủ công, nhưng cách tốt nhất để làm sạch dữ liệu là viết mã cho nó. Điều này đòi hỏi ba bước

  • Xác định — diễn đạt bằng lời bạn dự định giải quyết vấn đề như thế nào
  • Mã — biến các định nghĩa của bạn thành mã thực thi
  • Kiểm tra —kiểm tra dữ liệu của bạn để xác nhận rằng mã của bạn đã được triển khai đúng cách

tập dữ liệu. Dữ liệu thử nghiệm lâm sàng giai đoạn II insulin đường uống

Hiểu bộ dữ liệu

Tỷ lệ đái tháo đường ngày càng gia tăng trong thế kỷ XXI là một mối lo.
Bệnh nhân có các triệu chứng như.

  • khát
  • đi tiểu thường xuyên
  • kiệt sức cùng cực

Bệnh tiểu đường cũng có thể gây ra các vấn đề nghiêm trọng hơn như đột quỵ, mù lòa, mất chi, suy thận và đau tim. Tôi sẽ kiểm tra dữ liệu thử nghiệm lâm sàng giai đoạn hai từ 350 bệnh nhân đối với Auralin, một loại insulin uống độc đáo mới là một viên nang được cấp bằng sáng chế có khả năng khắc phục vấn đề niêm mạc dạ dày

Mục đích của thử nghiệm giai đoạn hai là để

  • Kiểm tra hiệu quả và đáp ứng liều lượng của một loại thuốc
  • Xác định các phản ứng bất lợi

Trong thử nghiệm này, một nửa số bệnh nhân được dùng Auralin, trong khi 175 người còn lại được dùng Novodra, một loại insulin tiêm phổ biến. Tôi có thể xác định liệu Auralin có thành công hay không bằng cách phân tích các thông số quan trọng giữa hai loại thuốc này

Mục đích của việc làm sạch dữ liệu là gì?

Dữ liệu chăm sóc sức khỏe nổi tiếng là bao gồm các lỗi và không được tổ chức, và dữ liệu thử nghiệm lâm sàng cũng không ngoại lệ. Ví dụ, lỗi của con người trong quá trình đăng ký bệnh nhân có nghĩa là chúng tôi có thể có

  • dữ liệu trùng lặp
  • dữ liệu bị mất
  • dữ liệu không chính xác

Tôi sẽ bắt đầu bằng cách kiểm tra chất lượng và sự ngăn nắp của việc thu thập dữ liệu này, sau đó làm sạch tất cả những vấn đề này bằng Python và Pandas. Mục đích là để tạo ra một phân tích đáng tin cậy

chuẩn bị để làm sạch

Trước khi có thể bắt đầu làm sạch, một bản sao của từng phần dữ liệu phải được tạo. Tất cả các quy trình làm sạch sẽ được thực hiện trên bản sao này, cho phép tôi kiểm tra bộ dữ liệu bẩn và/hoặc lộn xộn ban đầu sau này

Tạo bản sao của tập dữ liệu

Địa chỉ thiếu dữ liệu đầu tiên

Khi kiểm tra chất lượng dữ liệu, tốt nhất bạn nên xử lý các vấn đề về tính đầy đủ trước tiên. Đối với dữ liệu bị thiếu, điều này có nghĩa là

  • nối
  • Tham gia
  • Tố cáo, nếu có thể

Bộ dữ liệu thử nghiệm lâm sàng

Trong bộ dữ liệu thử nghiệm lâm sàng, tôi đã xác định được ba vấn đề về tính đầy đủ

bảng điều trị

  • thiếu thay đổi HbA1c
  • bản ghi bị thiếu [280 thay vì 350]

bàn bệnh nhân

  • Thiếu thông tin nhân khẩu học [địa chỉ — cột liên hệ]

Thật không may, không thể làm gì liên quan đến thông tin nhân khẩu học bị thiếu vì tôi sẽ không thể lấy thông tin đó cho đến khi những bệnh nhân đó quay trở lại

Bắt đầu với các bản ghi bị thiếu, treatments_cleancó 280 thay vì 350 bản ghi. Các bản ghi treatments bị thiếu được lưu trữ trong một tệp có tên treatments_cut.csv. Tôi sẽ nhập tập dữ liệu trước rồi ghép cả hai tệp để điền vào tập dữ liệu còn thiếu trong treatment_clean

Tôi sẽ kiểm tra tập dữ liệu để đảm bảo mã hoạt động

Tiếp theo, tôi xem treatmentscó những thay đổi về HbA1c bị thiếu và những thay đổi về HbA1c không chính xác [số 4 dẫn đầu bị nhầm thành số 9]. Quan sát “Thay đổi HbA1c không chính xác [số 4 dẫn đầu bị nhầm thành 9]”, đây là vấn đề về độ chính xác chứ không phải vấn đề về tính đầy đủ, được bao gồm trong phần này vì nó cũng được khắc phục bằng thao tác làm sạch khắc phục quan sát “Thay đổi HbA1c bị thiếu” bị thiếu

Sau khi giải quyết dữ liệu bị thiếu, bước tự nhiên tiếp theo là dọn dẹp cho gọn gàng. Hadley Wickham, một nhà thống kê, người tiên phong về dữ liệu gọn gàng, trong ấn phẩm của mình, ‘Dữ liệu gọn gàng’ [The Journal of Statistical Software, vol. 59, 2014], nêu những điểm chính sau

  • Bộ dữ liệu sạch rất đơn giản để làm việc với
  • Các bộ dữ liệu gọn gàng với các vấn đề về chất lượng dữ liệu hầu như luôn dễ dàng làm sạch hơn các bộ dữ liệu lộn xộn có cùng khó khăn

Điều này có nghĩa là lý tưởng nhất là làm sạch các mối quan tâm về cấu trúc trước tiên, chẳng hạn như sự ngăn nắp, sau đó làm sạch các vấn đề về nội dung, chẳng hạn như chất lượng

ngăn nắp

Tôi đã phát hiện ra bốn phần của bộ dữ liệu thử nghiệm lâm sàng insulin đường uống không được gọn gàng

  • Cột liên hệ trong bảng bệnh nhân nên được chia thành số điện thoại và email
  • Ba biến trong hai cột trong bảng điều trị [điều trị, liều bắt đầu và liều kết thúc]
  • Phản ứng bất lợi nên là một phần của bảng điều trị
  • Các cột họ và tên đã cho trong bảng bệnh nhân được sao chép trong các bảng điều trị và phản ứng phụ

Việc tách các cột thành hai sẽ yêu cầu tôi sử dụng mẫu biểu thức chính quy. Nhìn vào cột liên hệ ta có cả email và số điện thoại

Trước tiên, tôi phải tìm mẫu mà tôi sẽ sử dụng bằng cách truy cập trang web regex này và phát hiện mẫu của tôi cho email, mẫu của tôi là

và cho số điện thoại tôi nhận được

Làm điều này trên khung dữ liệu sẽ trông như thế này

Kiểm tra tập dữ liệu để xem mã có hoạt động không

Có ba biến trong hai cột trong bảng treatments [điều trị, liều bắt đầu và liều kết thúc]. Tôi sẽ nấu chảy cột auralin và cột novodra thành cột điều trị và cột liều [liều sẽ vẫn chứa cả liều bắt đầu và liều kết thúc tại thời điểm này]. Sau đó tách cột liều trên ‘ — ‘ để có cột start_dose và end_dose, sau đó tôi sẽ bỏ cột liều trung gian

Kiểm tra mã để xem những gì tôi đã làm có hiệu quả không

Phản ứng bất lợi phải là một phần của bảng điều trị, vì vậy tôi hợp nhất cộtphản ứng bất lợi vào bảng treatments, tham gia vào tên và họ đã cho

Bảng phản ứng bất lợi không còn cần thiết. Tôi sẽ cô lập ID và tên bệnh nhân trong bảng patients, sau đó chuyển những tên này thành chữ thường để nối với treatments. Sau đó thả các cột tên và họ đã cho vào bảng điều trị

Tất cả những gì còn lại bây giờ là dọn sạch các vấn đề về chất lượng dữ liệu còn lại sau khi dữ liệu bị thiếu và các vấn đề về ngăn nắp đã được giải quyết

Tập dữ liệu này có một số vấn đề về chất lượng dữ liệu

bàn bệnh nhân

  • mã zip là một float không phải là một chuỗi
  • mã zip đôi khi có bốn chữ số
  • Chiều cao của Tim Neudorf là ​​27 inch thay vì 72 inch
  • tên đầy đủ của tiểu bang đôi khi, viết tắt lần khác
  • David Gustafsson
  • Thiếu thông tin nhân khẩu học [địa chỉ — cột liên hệ]
  • Các loại dữ liệu bị lỗi [cột giới tính, tiểu bang, mã zip và ngày sinh được chỉ định]
  • Nhiều định dạng số điện thoại
  • Dữ liệu John Doe mặc định
  • Nhiều kỷ lục cho Jakobsen, Gersten, Taylor
  • kg thay vì lbs cho cân nặng của Zaitseva

bảng điều trị

  • thiếu thay đổi HbA1c
  • chữ u ở liều bắt đầu và kết thúc cho Auralin và Novodra
  • chữ thường cho tên và họ
  • bản ghi bị thiếu [280 thay vì 350]
  • Kiểu dữ liệu sai [cột auralin và novodra]
  • Thay đổi HbA1c không chính xác [4s bị nhầm thành 9s]
  • Nulls được biểu thị dưới dạng dấu gạch ngang [-] trong các cột auralin và novodra

bảng bất lợi_reactions

  • chữ thường cho tên và họ

Các giải pháp

Mã zip là một float không phải là một chuỗi và đôi khi mã zip có bốn chữ số. Tôi sẽ chuyển đổi kiểu dữ liệu của cột mã zip từ float sang string bằng cách sử dụng astype, xóa dấu '. 0' bằng cách cắt chuỗi và nhập mã zip bốn chữ số với số 0 ở đầu

Đôi khi có tên tiểu bang đầy đủ, đôi khi viết tắt, tôi sẽ áp dụng một hàm chuyển đổi tên tiểu bang đầy đủ thành tên viết tắt của tiểu bang cho California, New York, Illinois, Florida và Nebraska

Ngoài ra, nhiệm vụ này cũng có thể được thực hiện bằng phương pháp này

Tôi sẽ thay thế tên đã đặt cho các hàng trong bảng bệnh nhân có tên đã đặt là 'Dsvid' bằng 'David'

Có kiểu dữ liệu sai [cột giới tính, trạng thái, mã zip và ngày sinh được chỉ định] và Kiểu dữ liệu sai [cột auralin và novodra] và Chữ 'u' ở liều bắt đầu và liều kết thúc cho Auralin và Novodra. Tôi sẽ chuyển đổi giới tính và trạng thái được chỉ định thành các loại dữ liệu phân loại. Loại dữ liệu mã zip đã được giải quyết ở trên. Tôi sẽ chuyển đổi kiểu dữ liệu ngày sinh thành ngày giờ. Tách chữ 'u' ở liều bắt đầu và liều kết thúc và chuyển đổi các cột đó thành kiểu dữ liệu số nguyên

Có nhiều định dạng số điện thoại. Tôi sẽ loại bỏ tất cả “ “, “-”, “[“, “]”, và “+” và lưu trữ từng số mà không có bất kỳ định dạng nào. Tôi sẽ đệm số điện thoại bằng số 1 nếu độ dài của số là 10 chữ số

Tiếp theo, tôi sẽ xóa các bản ghi John Doe không thể phục hồi khỏi bảng patients

Có nhiều bản ghi cho Jakobsen, Gersten, Taylor,

Tôi sẽ loại bỏ các hàng Jake Jakobsen, Pat Gersten và Sandy Taylor khỏi bàn bệnh nhân. Đây là những biệt hiệu, cũng không có trong bảng điều trị [xóa tên sai sẽ tạo ra vấn đề nhất quán giữa bệnh nhân và bảng điều trị]. Đây là tất cả các lần xuất hiện thứ hai của bản sao. Đây cũng là lần xuất hiện duy nhất của các địa chỉ trùng lặp không rỗng

Ghi chú. Toán tử dấu ngã ~n là toán tử phủ định theo bit

Có một ví dụ về kg thay vì lbs cho trọng lượng của Zaitseva. Sử dụng lập chỉ mục nâng cao để tách riêng hàng có họ là Zaitseva và sau đó chuyển đổi mục nhập trong trường trọng lượng của nó từ kg sang lbs, chúng ta có

Auralin có hiệu quả không?

Sử dụng các số liệu chính để so sánh

Sau khi phân tích và làm sạch dữ liệu thử nghiệm lâm sàng, tôi đã sẵn sàng để xem Auralin, một loại insulin uống mới được đề xuất, so sánh với Novodra, một loại insulin tiêm như thế nào

Tác dụng phụ

Để Auralin vượt qua thử nghiệm lâm sàng Giai đoạn II này, nó phải được coi là an toàn và các phản ứng bất lợi đối với nó là đáng khích lệ

Những phản ứng bất lợi này trước đây là các bảng riêng biệt, nhưng tôi đã kết hợp chúng với bảng điều trị để có thể thực hiện phân tích này. Số lượng của từng tác dụng phụ rất giống nhau giữa hai loại thuốc Auralin và Novodra. Một ngoại lệ là Auralin, insulin uống, gây kích ứng cổ họng vì nó được dùng bằng đường uống và đi qua miệng trước khi đến dạ dày. Một tác dụng phụ khác của Novodra, một loại insulin tiêm, là cảm giác khó chịu tại chỗ tiêm, đây là tác dụng phụ nổi tiếng của insulin tiêm do kim tiêm. Đây là một trong những lý do chính cho sự phát triển của insulin đường uống.

Trong các biểu đồ thanh ngang này, số lượng hiển thị rõ hơn

Thay đổi liều insulin trung bình trước thử nghiệm sau thử nghiệm

Việc thay đổi liều lượng là rất quan trọng vì nếu loại insulin uống mới cần liều lượng cao hơn để có hiệu quả, nhà sản xuất có thể quyết định không đưa nó ra thị trường vì nó không khả thi về mặt thương mại

Thông tin về liều lượng được ẩn trong hai cột trong bảng điều trị, auralin và novodra, với liều bắt đầu và kết thúc trong mỗi cột và giá trị điều trị trong tiêu đề cột. Bằng cách trộn biến điều trị xuống cột riêng của nó, tôi có thể chuyển đổi điều này sang định dạng dễ đọc hơn và tách liều bắt đầu và liều kết thúc. Tôi đã có thể thực hiện phân tích thay đổi liều lượng trung bình nhờ điều này

Một lần nữa, kết quả của Auralin rất hứa hẹn. So với bệnh nhân Novodra, những người cần 0. Ít hơn 4 đơn vị insulin, những người được điều trị bằng Auralin trung bình cần thêm 8 đơn vị insulin để đạt được mức đường huyết ổn định, an toàn. Bởi vì tôi hiểu rằng insulin đường uống khó đi vào máu qua niêm mạc dạ dày hơn và tám đơn vị nữa không phải là vấn đề quan trọng, nên Auralin cần thêm 8 đơn vị nữa.

Trung bình thay đổi đơn vị insulin của Auralin và Novodra

Thay đổi HbA1c

Những thay đổi về HbA1 là một dấu ấn sinh học quan trọng trong việc kiểm soát bệnh tiểu đường.
Mức HbA1c trung bình trong thử nghiệm này là 7. 9%, vì vậy nếu chúng tôi có thể chứng minh rằng Auralin tạo ra mức giảm HbA1c tương đương với tiêu chuẩn insulin tiêm hiện tại, thì đó sẽ là một thành công.
Có thể sử dụng khoảng tin cậy để đo lường điều này, nhưng trước tiên chúng ta phải xác định sự khác biệt về giá trị trung bình.

Trước khi làm sạch

Novodra thể hiện một lợi thế lớn trong việc giảm HbA1C trước khi làm sạch, 0. 71 so với 0. 35 cho Auralin

Bạn có thể sử dụng Python để làm sạch dữ liệu không?

Python có một số thư viện tích hợp để giúp làm sạch dữ liệu . Hai thư viện phổ biến nhất là pandas và numpy, nhưng bạn sẽ sử dụng pandas cho hướng dẫn này. Thư viện gấu trúc cho phép bạn làm việc với khung dữ liệu gấu trúc để phân tích và thao tác dữ liệu.

Làm sạch và chuẩn bị dữ liệu trong Python là gì?

Làm sạch hoặc làm sạch dữ liệu là quá trình phát hiện và sửa [hoặc xóa] các bản ghi bị hỏng hoặc không chính xác khỏi một bộ bản ghi, bảng hoặc cơ sở dữ liệu and refers to identifying incomplete, incorrect, inaccurate or irrelevant parts of the data and then replacing, modifying, or deleting the dirty or coarse data.

Thư viện nào được sử dụng để làm sạch dữ liệu?

NumPy. NumPy là một thư viện Python khoa học mã nguồn mở nhanh và dễ sử dụng. .
gấu trúc. Pandas là một trong những thư viện được cung cấp bởi NumPy. .
Matplotlib. Hiểu dữ liệu của bạn là một phần quan trọng của quy trình làm sạch. .
Trình dọn dẹp dữ liệu. .
dora. .
sinh ra biển. .
mũi tên. .
Scrubadub

Làm cách nào để sử dụng Geopy trong Python?

Điều đầu tiên cần làm là cài đặt Geopy. .
cài đặt địa lý pip. Thiết lập kết nối. .
từ geopy. bộ mã hóa địa lý nhập Nominatim. .
từ geopy. thêm. rate_limiter nhập RateLimiter. .
vị trí = mã địa lý. đảo ngược[[vĩ độ, dài]].
địa điểm. thô. .
mã zip = vị trí. raw['địa chỉ']['mã bưu điện'].
# sau khi bắt đầu mã hóa địa lý

Chủ Đề