Dòng mã Python yêu thích của tôi

Vâng, tôi có một dòng mã Python 'yêu thích' bởi vì có một điều gì đó tôi làm rất thường xuyên (cả trong cuộc sống học tập và từ ngữ của tôi) rằng sự sang trọng của nó không chỉ giúp tôi tiết kiệm thời gian mà còn thực hiện những gì tôi cần.

Pandas DataFrames là một cách đặc biệt tốt để quản lý dữ liệu dạng bảng trong Python. Thông thường, trong khoa học dữ liệu, dữ liệu được thao tác - không chỉ một hoặc hai giá trị, mà là mọi giá trị trong một hoặc nhiều cột. Ví dụ, khi thực hiện sửa chữa.

Đó là nơi dòng mã yêu thích của tôi xuất hiện.

Đây là một ví dụ với một số dữ liệu không hợp lệ:

Tôi sẽ bắt đầu với chuyên makemục; các giá trị trong đó không nhất quán và tôi cần makeviết hoa tất cả các giá trị ban đầu. Không cần phải quảng cáo thêm, đây là dòng mã yêu thích của tôi (giả sử dữ liệu được tải trong DataFrame có tên my_data_df:

my_data_df[‘make’] = my_data_df[‘make’].apply(lambda x: x.title())

Nhìn này, tất cả đều đẹp và đã được sửa

Chia nhỏ điều này một chút, những gì tôi đã làm là sử dụng applyhàm DataFrame để lặp qua từng giá trị trong cột được chỉ định ( make) và đối với mỗi ô, tôi đã áp dụng một hàm chuỗi đơn giản ( title) để chuyển đổi giá trị đó thành tiêu đề (cap ban đầu). Trong lambdahàm, xlà giá trị tôi đang thay đổi.

Mở rộng chức năng

Một điều khác khiến nó trở thành dòng mã yêu thích của tôi là nó là một dòng linh hoạt, có thể mở rộng và tổng quát hóa. Ví dụ cuối cùng đó thực sự không được thực hiện hoàn toàn chính xác, phải không. BMW là một chủ nghĩa viết tắt đại diện cho Bayerische Motoren Werke và không nên là trường hợp tiêu đề mà là tất cả.

Tôi có thể làm điều đó với dòng mã yêu thích của mình không? Đương nhiên tôi làm được.

my_data_df[‘make’] = my_data_df[‘make’].apply(lambda x: x.title() if x != ‘bmw’ else x.upper())

Những gì tôi đã làm là mở rộng lambdachức năng ban đầu bằng cách thêm một if else clausequản lý BMW. Nói rõ ràng, dòng mã đó bây giờ cho biết:

Đối với rất hàng trong makecột, hãy chuyển nó thành bmwchữ hoa tiêu đề nếu giá trị không phải là chữ hoa.

Không tệ cho một dòng mã.

Tổng quát mã

Như tôi đã nói lúc đầu, tôi sử dụng dòng mã này (hoặc một số biến thể trong đó) rất thường xuyên. Trong thực tế, tôi không viết lại nó lần nào, vì điều đó có thể vui hơn. Thay vào đó, tôi đã tổng quát hóa các biến thể bằng cách sử dụng các hàm Python. Nhìn vào daycột - các ngày trong tuần không nhất quán và tôi muốn tất cả các ngày đều là ngày viết đúng chính tả trong trường hợp tiêu đề. Nhưng nhìn chung, tôi có một hoặc nhiều từ "sai" mà tôi muốn biến thành "đúng". Bây giờ, một dòng mã để thay đổi một trong những tình huống này, chẳng hạn wednhư Wednesday, đủ đơn giản:

my_data_df[‘day’] = my_data_df[‘day’].apply(lambda x: ‘Wednesday’ if x == ‘wed’ else x.title())

Cũng giống như ví dụ trước, tôi đặt một điều kiện trong lamdahàm nhưng lần này tôi chỉ kiểm tra xem giá trị có phải là không wedvà nếu có, hãy thay đổi nó thành Wednesday, nếu không, chỉ cần đặt nó là cap đầu tiên ( else x.title()).

Điều đó thật tuyệt, nhưng cần có nhiều thay đổi và tôi muốn xây dựng một hàm có thể thay đổi bất kỳ từ nào thành bất kỳ từ nào khác.

Mã này rõ ràng không bao gồm dòng yêu thích của tôi, nhưng nó sẽ được sử dụng cho dòng yêu thích của tôi. Các correct_wordchức năng là một chức năng chung mà cải đạo đầu tiên xcho trường hợp tiêu đề và sau đó nếu xlà từ sai, nó quay trở lại những từ thích hợp (trong việc đưa ra bản chất x từ bên phải), nếu không nó sẽ trả về x. (Bạn không muốn thay đổi từ trừ khi đó là từ sai.) Nếu tôi bắt đầu lại từ đầu với dữ liệu ban đầu của mình, bây giờ tôi có thể thay đổi mọi thứ khá dễ dàng.

Lưu ý cách lambdahàm bây giờ chỉ đơn giản gọi correct_wordhàm tùy chỉnh của tôi . Khá đơn giản. (Tôi biết, tôi biết, đây không phải là một dòng mã duy nhất nữa, nhưng tôi vẫn đang sử dụng dòng yêu thích của mình và hướng dẫn cách sử dụng nó một cách tổng quát hơn.)

Tôi biết rằng có nhiều dòng mã mạnh hơn và thậm chí có thể là những dòng mã đơn lẻ, nhưng không có dòng nào trong số đó là yêu thích của tôi . Cái này là. Hy vọng bạn thích nó.

Suggested posts

Cách chạy plugin ChatGPT miễn phí bằng Langchain

Cách chạy plugin ChatGPT miễn phí bằng Langchain

Chắc hẳn bạn đã nghe về tất cả các plugin ChatGPT mạnh mẽ mới như Trình duyệt, Trình thông dịch mã, v.v. Nhưng có một vấn đề là quyền truy cập vào các plugin bị giới hạn trong danh sách chờ và do đó nhiều người không có quyền truy cập.

Tài nguyên mã hóa được sử dụng nhiều nhất của tôi

Tài nguyên mã hóa được sử dụng nhiều nhất của tôi

Tuần này, tôi nhận được một email từ một thành viên trong danh sách email hàng ngày. Họ muốn biết: Bạn truy cập tài nguyên nào hàng ngày, hàng tuần và hàng tháng? Câu hỏi tuyệt vời! Tôi rất vui khi cố gắng chia sẻ một số thông tin chi tiết về quy trình làm việc của mình và các tài nguyên hàng đầu mà tôi sử dụng.

Related posts

Cuộc cách mạng tại nơi làm việc: Các chuyên gia hàng đầu thảo luận về công việc kết hợp và từ xa

Cuộc cách mạng tại nơi làm việc: Các chuyên gia hàng đầu thảo luận về công việc kết hợp và từ xa

Trong bối cảnh kinh doanh phát triển nhanh chóng ngày nay, khái niệm làm việc kết hợp và làm việc từ xa đã đạt được động lực chưa từng có. Khi các công ty tiếp tục thích ứng với nhu cầu và kỳ vọng thay đổi của nhân viên, các chuyên gia từ nhiều lĩnh vực khác nhau đã cùng nhau thảo luận về lợi ích, thách thức và tương lai của cách làm việc mang tính biến đổi này.

Cách cứu hành tinh và kiếm tiền

Cách cứu hành tinh và kiếm tiền

Đã bao nhiêu lần bạn vứt bỏ chai nhựa, lọ thủy tinh, lon nhôm hay gói năng lượng xanh mà không cần suy nghĩ kỹ? Đã bao nhiêu lần bạn ước mình có thể nhận được thứ gì đó để đổi lại việc tái chế chúng? Nếu bạn giống như hầu hết mọi người, câu trả lời có lẽ là nhiều lần. Tái chế thường được coi là một rắc rối, một công việc vặt hoặc một nhiệm vụ không mang lại bất kỳ lợi ích tức thời hoặc hữu hình nào.

Điều gì làm cho một podcast có ảnh hưởng?

Điều gì làm cho một podcast có ảnh hưởng?

Tuần trước, tôi nhận thấy một thông cáo báo chí, được gửi qua PressGazette (một trang web tin tức truyền thông của Anh). Bài báo thông báo rằng Acast, công ty quảng cáo và lưu trữ podcast của Scandi, sẽ lãnh đạo một tập đoàn gồm các nhà xuất bản “có lẽ là có ảnh hưởng nhất” trong lĩnh vực podcasting.

Vụ sát hại Jordan Neely và vấn đề phân biệt chủng tộc “yêu nước”

Hoa Kỳ có thể thực hiện một bước thiết yếu là không đánh đồng hành vi phân biệt chủng tộc với việc trở thành một người Mỹ tốt không?

Vụ sát hại Jordan Neely và vấn đề phân biệt chủng tộc “yêu nước”

[Cảnh báo kích hoạt: Bài tiểu luận này bao gồm các bức ảnh chụp màn hình những người ca ngợi kẻ giết Jordan Neely.] Các quan chức thực thi pháp luật cuối cùng - và có lẽ miễn cưỡng - đã buộc tội Daniel Penny, kẻ đã bóp cổ Jordan Neely cho đến chết, vì tội giết người đó.