Bagaimana Saya Menganalisis Perjalanan Taksi Saya

Setiap kali saya naik taksi, laporan perjalanan dengan informasi berbeda datang ke email saya. Secara khusus, mereka berisi tanggal, waktu perjalanan, model mobil, dan nama pengemudi. Saya mendapat ide - untuk menganalisis laporan dari Yandex Taxi dan mendapatkan informasi paling menarik darinya. Anda juga mungkin selalu bertanya-tanya berapa kali Anda mengendarai mobil yang sama atau berapa kali pengemudi yang sama membawa Anda?





Tugas yang diuraikan di sini bisa menjadi latihan yang baik untuk analis pemula. Akan ada segalanya: python dengan pandas dan parsing HTML dan ekspresi reguler dan database dengan SQL.





Kami mendapatkan informasi

Ini adalah bagian yang tidak menarik, di sini saya akan menjelaskan bagaimana saya mengambil informasi dari kotak surat, untuk melihat kodenya, pada akhirnya saya akan melampirkan tautan ke laptop Python. Cara termudah adalah dengan membongkar kotak surat dalam format * .mbox. Ini lebih mudah daripada berurusan dengan api gmail, dan kotak surat saya ada di sana. Ini tidak akan secara otomatis menambahkan perjalanan yang terjadi setelah bongkar muat, tetapi untuk tujuan kami ini tidak penting.





Untuk mengurai arsip, kami akan menggunakan perpustakaan kotak surat. Ini akan memungkinkan Anda untuk mengakses properti dasar setiap pesan dari kotak surat, termasuk pengirim dan badan pesan itu sendiri.





Setelah memilih surat yang diperlukan, yaitu yang berasal dari pengirim taxi.yandex.ru kami segera menghadapi masalah. Yandex secara berkala mengubah struktur laporannya. Namun, strukturnya telah berubah secara global sekali, tahun ini. Sebelumnya semua informasi tentang trip tersebut hanya dalam bentuk teks utuh, kini berbentuk tabel. Oleh karena itu, saya harus menulis dua fungsi terpisah untuk mengekstrak informasi: jika surat tersebut berisi informasi dalam bentuk teks padat, kita cukup mencari informasi yang kita butuhkan menggunakan ekspresi reguler menggunakan masker; jika dalam bentuk tabel, maka kita parsing kode HTML huruf tersebut menggunakan beautiful soup. Kami memuat data yang diterima ke dalam kerangka data dan database cloud sehingga nantinya kami tidak perlu memutar ulang seluruh kotak dengan setiap penerimaan.





Menonton perjalanan

Setelah menerima data dalam bentuk terstruktur, menarik untuk dilihat statistiknya.





, .





Biaya perjalanan berubah seiring waktu

. , , , , -.





Puncak sempit - berangkat kerja, puncak lebar - dari pekerjaan.
- , - .

. .





- .





- , , . , .









? !

, ?





. , 24 , . . , , , . .





:





3 , , .





DATE





NAME





CAR





CAR_MODEL





NUMBER





NAME_HASH





2020-06-23









Toyota





Camry





37077





-2596682743997844296





2020-06-17









Toyota





Camry





37077





-2596682743997844296





2020-06-05









Toyota





Camry





37077





-2596682743997844296





2019-11-27









Toyota





Camry





37077





-1058569546058211362









, , - , . , , .





DATE





TARIF





NAME





CAR





CAR_MODEL





NUMBER





NAME_HASH





2017-10-11













Hyundai





i40





20377





7008433025181534578





2020-04-16





+









Toyota





Camry





67877





7008433025181534578





2018-04-11













Kia





Rio





67077





-2646868843695703984





2020-04-17





+









Kia





Optima





58777





-2646868843695703984





, , 150-200 . .





Distribusi interval antara perjalanan dengan pengemudi berulang

, , , , 29 , .





, , , , . , , , , .





Alokasi celah antara perjalanan dengan mobil yang berulang

:





 pc - 1 , m 





P = \ frac {1} {N} (1-p_c) ^ m

, ,





\ frac {1} {N * p_c} = \ frac {29} {1346}

29 - , 1346 - .





, m m+n:





P_ {m, m + n} = \ frac {(1-p_c) ^ m} {N} * \ frac {1- (1-p_c) ^ {m + n}} {p_c}

. , , - .





 pc  , , . , , . , , .





, pc = 0.0062, :





  • - 257





  • - 7194





- , +. .. , 2 .





:





pc = 0.0076. :





  • - 7039





  • - 209





, . , , , .





, , , : https://colab.research.google.com/drive/1eltee0HilqqVQxpreC9-0w4b08EpMAgM?usp=sharing








All Articles