Ở nhiều nơi trong mã sử dụng Pandas của chúng tôi, chúng tôi có một số chức năng Python process(row)
. Hàm đó được sử dụng trên DataFrame.iterrows()
, lấy mỗi row
và thực hiện một số quá trình xử lý và trả về một giá trị mà chúng tôi thu thập tối đa vào một Series
mới.Xử lý hiệu quả các hàng DataFrame bằng hàm Python?
Tôi nhận thấy mẫu sử dụng này phá vỡ hầu hết các lợi ích hiệu suất của ngăn xếp khối/chồng.
- Cách tốt nhất để làm cho mẫu sử dụng này hiệu quả như thế nào càng tốt?
- Chúng tôi có thể làm điều đó mà không cần viết lại hầu hết mã của chúng tôi không?
Một khía cạnh khác của câu hỏi này: tất cả các chức năng như vậy có thể được chuyển đổi thành đại diện gọn gàng không? Tôi đã tìm hiểu nhiều về ngăn xếp lộn xộn/scipy/Pandas, nhưng có vẻ như đối với logic thực sự tùy ý, đôi khi bạn có thể chỉ cần sử dụng một kiến trúc Python chậm tinh khiết giống như ở trên. Đó là trường hợp?
Nếu bạn đang làm toán, bạn sẽ có thể thực hiện các hoạt động được vector hóa. Nếu bạn đang sử dụng chuỗi hoặc các kiểu dữ liệu không cố định khác, bạn có thể thực hiện phép toán theo các con số theo cách vecorized, sau đó làm hàng dựa trên phần còn lại ... bạn có thể cung cấp một số chi tiết về những gì bạn đang làm không? –