Python tính phần trăm chênh lệch giữa hai số
Khi làm việc với các khung dữ liệu Pandas, nhiệm vụ rất phổ biến là tính toán sự khác biệt giữa hai hàng. Ví dụ: bạn có thể muốn tính chênh lệch về số lượng khách truy cập vào trang web của mình giữa hai ngày hoặc chênh lệch giá cổ phiếu giữa hai ngày Show Thực tế, có một số cách khác nhau để tính toán sự khác biệt giữa hai hàng trong Pandas và tính phần trăm thay đổi của chúng. Trong bài đăng này, chúng ta sẽ xem xét hai trong số các phương pháp phổ biến nhất. 2 và 3, được thiết kế dành riêng cho tác vụ này và thực hiện điều tương tự trên các giá trị cộtNhập dữ liệuĐể bắt đầu, hãy mở sổ ghi chép Jupyter mới và nhập dữ liệu. Chúng tôi sẽ sử dụng thư viện 4 để đọc dữ liệu từ tệp CSV vào khung dữ liệu bằng hàm 5. Pandas hỗ trợ nhập dữ liệu từ một số định dạng tệp khác nhau, bao gồm CSV, Excel, JSON và SQL
dateclicksimpressionsctrposition02021-07-0413663012. 1631. 9712021-07-0526486973. 0427. 6622021-07-0629992363. 2426. 3832021-07-07276100082. 7626. 7742021-07-0828397252. 9125. 83 Tính toán sự khác biệt giữa mỗi hàng bằng cách sử dụng diff()Điều quan trọng, bạn cần đảm bảo khung dữ liệu Pandas của mình đã được sắp xếp theo thứ tự hợp lý trước khi bạn tính toán sự khác biệt giữa các hàng hoặc phần trăm thay đổi của chúng. Bạn có thể làm điều này bằng cách nối thêm 6 vào cuối khung dữ liệu của mình và chuyển vào tên cột mà bạn muốn sắp xếp theoĐể tính toán sự khác biệt giữa các giá trị đã chọn trong mỗi hàng của khung dữ liệu của chúng tôi, chúng tôi chỉ cần thêm 7 vào cuối tên cột của chúng tôi và sau đó gán giá trị cho một cột mới trong khung dữ liệu của chúng tôi. Chúng tôi không cần phải làm điều đó ở đây, nhưng tham số 0 có thể được sử dụng để tính toán sự khác biệt giữa các cột thay vì hàng và tham số 1 có thể được sử dụng để tính toán sự khác biệt giữa các hàng cách xa nhau hơn so với hàng tiếp theo bằng cách sử dụng
dateclicksimpressionsctrpositionclicks_diffimpressions_diffctr_diffposition_diff02021-07-0413663012. 1631. 97NaNNaNNaNNaN12021-07-0526486973. 0427. 66128. 02396. 00. 88-4. 3122021-07-0629992363. 2426. 3835. 0539. 00. 20-1. 2832021-07-07276100082. 7626. 77-23. 0772. 0-0. 480. 3942021-07-0828397252. 9125. 837. 0-283. 00. 15-0. 9452021-07-0920582732. 4827. 65-78. 0-1452. 0-0. 431. 8262021-07-1010671861. 4833. 74-99. 0-1087. 0-1. 006. 0972021-07-1116474312. 2131. 7558. 0245. 00. 73-1. 9982021-07-12316111012. 8526. 94152. 03670. 00. 64-4. 8192021-07-13314114942. 7326. 90-2. 0393. 0-0. 12-0. 04 Tính phần trăm thay đổi giữa mỗi hàng với pct_change()Cách tiếp cận tương tự có thể được sử dụng để tính phần trăm thay đổi giữa các giá trị được chọn trong mỗi hàng của khung dữ liệu của chúng tôi. Như với 2, chúng tôi chỉ cần thêm 4 vào cuối tên cột và sau đó gán giá trị cho một cột mớiHàm 3 sẽ tính phần trăm thay đổi giữa mỗi hàng và hàng trước đó. Điều này có nghĩa là hàng đầu tiên sẽ luôn là 6 vì không có hàng nào trước đó để so sánh với. Như với 2, hàm 3 có một số đối số khác có thể được sử dụng để thay đổi hành vi của hàmVí dụ: chúng ta có thể sử dụng đối số 1 để chỉ định số lượng hàng cần so sánh với. Điều này hữu ích nếu chúng ta muốn so sánh hàng hiện tại với một hàng không phải là hàng trước đó. Ví dụ: nếu chúng tôi muốn so sánh hàng hiện tại với hàng cách đây 3 hàng, chúng tôi có thể sử dụng 0________số 8 dateclicksimpressionsctrpositionclicks_diffimpressions_diffctr_diffposition_diffclicks_pct_changeimpressions_pct_changectr_pct_changeposition_pct_change02021-07-0413663012. 1631. 97NaNNaNNaNNaNNaNNaNNaN12021-07-0526486973. 0427. 66128. 02396. 00. 88-4. 310. 9411760. 3802570. 407407-0. 13481422021-07-0629992363. 2426. 3835. 0539. 00. 20-1. 280. 1325760. 0619750. 065789-0. 04627632021-07-07276100082. 7626. 77-23. 0772. 0-0. 480. 39-0. 0769230. 083586-0. 1481480. 01478442021-07-0828397252. 9125. 837. 0-283. 00. 15-0. 940. 025362-0. 0282770. 054348-0. 03511452021-07-0920582732. 4827. 65-78. 0-1452. 0-0. 431. 82-0. 275618-0. 149306-0. 1477660. 07046162021-07-1010671861. 4833. 74-99. 0-1087. 0-1. 006. 09-0. 482927-0. 131391-0. 4032260. 22025372021-07-1116474312. 2131. 7558. 0245. 00. 73-1. 990. 5471700. 0340940. 493243-0. 05898082021-07-12316111012. 8526. 94152. 03670. 00. 64-4. 810. 9268290. 4938770. 289593-0. 15149692021-07-13314114942. 7326. 90-2. 0393. 0-0. 12-0. 04-0. 0063290. 035402-0. 042105-0. 001485 Tính phần trăm thay đổi so với cùng ngày tuần trướcĐể tính phần trăm thay đổi trong một số liệu so với cùng ngày của tuần trước, chúng ta có thể chuyển một giá trị cho đối số 1 của hàm 3. Điều này sẽ tính phần trăm thay đổi trong chỉ số so với cùng ngày của tuần trước 1nhấp chuộtclicks_pct_change_weekimpressionsimpressions_pct_change_weekctrctr_pct_change_weekpositionposition_pct_change_week184240. 452055159880. 3670802. 650. 06000026. 65-0. 026662193570. 469136145900. 3435862. 450. 09375026. 92-0. 094517202560. 651613119870. 5485082. 140. 07000030. 34-0. 081997212570. 502924122270. 3650782. 100. 09947629. 55-0. 054097224710. 539216159340. 2329002. 960. 24894524. 28-0. 104390234620. 350877155160. 1913392. 980. 13308024. 55-0. 051757244180. 208092155900. 1040292. 680. 09387824. 90-0. 058245254770. 125000168420. 0534152. 830. 06792523. 83-0. 10581626340-0. 04761913867-0. 0495542. 450. 00000026. 18-0. 02748927194-0. 2421889749-0. 1867021. 99-0. 07009331. 420. 035597 |