Penulis | Diedit oleh Zhou Zhipeng | Liu Jing
Banyak teman yang ingin tahu cara menggunakan Python untuk meningkatkan efisiensi pemrosesan data, atau cara menggunakan Python untuk memproses beberapa tabel Excel secara otomatis, jadi saya punya artikel ini. Artikel ini dianggap sebagai kasus independen kedua dari analisis data Python.
Latar belakang kasus
Di dunia paralel lain, ada perusahaan raksasa yang fokus pada olahraga luar ruangan. Karena dia adalah raksasa, agar lebih ramah, sebut saja dia kepala besar. Datou memiliki 20 merek di bawah payungnya, dan merek ini melibatkan 128 kategori (industri tersegmentasi) Cakupan cakupannya sangat mengejutkan dan dapat digambarkan sebagai mekar di mana-mana.
Z kecil dari dunia paralel adalah analis data Big Mac ini. Setelah datang ke perusahaan hari ini, ia menerima permintaan sebelum bekerja, pastikan untuk menyaring merek TOP5 dengan total penjualan pada tahun lalu dan penjualan yang sesuai.
Hampir setahun? TOP5?
WOC, permintaan sederhana seperti itu dianggap permintaan? Lebih baik hanya menyortirnya.
Suatu hari, tidak terburu-buru, tidak terburu-buru, pertama-tama minum secangkir kopi, lalu membaca berita.
Dalam sekejap, waktunya tiba pukul 17.30, dan Xiao Z merasa permintaan hari ini bisa dimulai. Setelah menyelesaikannya, dia bisa menganalisanya sebentar, dan dia seharusnya bisa pulang kerja pukul 18.00.
Ketika dia membuka file formulir yang dibagikan oleh rekan-rekannya, dia menyadari bahwa dia putus asa, sangat jauh, dan sangat dekat.
Kolega di departemen bisnis mengirim total 128 tabel, yang masing-masing sesuai dengan data sub-industri, seperti semua jenis pakaian luar ruangan, peralatan memancing, dan peralatan penyelamat jiwa.
Setiap tabel mencatat tanggal, pengunjung, pesanan pelanggan, konversi, kategori (industri segmen) dan data lain dari setiap merek dalam dimensi bulanan (September 2018-Agustus 2019, hampir setahun):
Catatan: Jangan tanya mengapa penyimpanan data tabel sangat aneh, karena di dunia paralel, Anda harus berhati-hati. Bagaimanapun, tabel yang kompleks dapat mencerminkan efisiensi Python.
Little Z mulai menghitung. Permintaan terakhir adalah menyaring 5 merek teratas dalam total penjualan tahun lalu. Data ini dapat diklasifikasikan dan diringkas dalam tabel terpisah untuk mendapatkan penjualan masing-masing merek di segmen tersebut. Jika Anda ingin mendapatkan total penjualan dari semua industri, Anda harus menyortir dan menggabungkan 128 kali, dan akhirnya menggabungkan 128 hasil lagi.
"Tugas ini tampaknya sangat sulit, tetapi ujian utamanya adalah kekuatan fisik." Xiao Z "melihat" inti dari masalah ini secara sekilas. Pada saat yang sama, beberapa karakter merah seperti "Tentara Merah tidak takut akan ekspedisi yang sulit" muncul di benak saya. Kemudian, dia memakai headphone, membuka "Internationale" dari band Dinasti Tang, dan dengan restu dari penggila ganda, dia memulai ekspedisi bentuk tersebut.
Benar saja, dia ahli dalam memproses data. Jari telunjuk kanan Little Z melompat ke atas mouse dengan cepat, bergerak maju seperti meja dalam 90 detik. Pada kecepatan ini, terlepas dari tarikan nilai kelelahan pada kecepatan, tugas dapat diselesaikan dalam waktu sekitar 3,2 jam.
Internationale diputar ke-10 kalinya. Little Z sedikit putus asa. Pada kali ke-20, dia mulai merasa putus asa.
Saat dia akan menyerah, dia memikirkan Python master Pandas (Pandas). Meskipun dia tidak terlalu mahir dalam belajar akhir-akhir ini, banyak hal berakhir. Cahaya dalam kegelapan adalah satu-satunya harapan. Little Z memutuskan untuk menggunakan Panda mencoba menyelesaikan masalah.
Dia memahami bahwa inti dari menyelesaikan masalah batch dengan Python adalah memilah dan menyelesaikan masalah individu, dan kemudian batch loop.
Pemrosesan bentuk tunggal
Pertama, impor modul dan buka satu tabel:
Selanjutnya, kami ingin merangkum penjualan berbagai merek dalam industri yang tersegmentasi ini.Yang ingin kami rangkum adalah penjualan masing-masing merek dalam satu tahun terakhir (September 2018-Agustus 2019). Pertama, periksa apakah tanggalnya sudah benar:
Baru akan meringkas penjualan, sedikit Z menemukan bahwa tidak ada bidang penjualan, tetapi penjualan dapat dihitung dengan produk jumlah pengunjung * tingkat konversi * harga unit pelanggan:
Ringkas penjualan menurut merek, dan dapatkan total penjualan setiap merek dalam satu tahun terakhir:
Berikut detailnya. Pada akhirnya, yang ingin diringkas Xiao Z adalah penjualan semua sub-industri. Untuk penjualan masing-masing industri, label pembeda harus ditambahkan untuk mencegah cakupan. Nama file ketika dibuka memiliki pembedaan dan pencegahan alami. Tutupi keuntungannya, tetapi perhatikan untuk menghapus akhiran file.
Oke, pemrosesan formulir tunggal selesai, kita dapat memperpanjang rangkaian operasi ini.
Eksekusi batch loop
Little Z menggunakan metode os.listdir untuk menelusuri nama file, mengakses dan memproses file dalam batch, dan memperkenalkan pengaturan waktu. Saya berencana untuk melihat 128 tabel. Seberapa cepat Python dapat menyelesaikan operasi ini daripada secara manual:
WOC, seluruh proses dilakukan dalam sekali jalan, kurang dari 3 detik, rata-rata 0,02 detik untuk satu meja! Baunya sangat enak!
Untuk memastikan bahwa data normal, mari kita lihat dulu:
Rangkaian penjualan ini, yang tampak aneh, adalah klaim panda untuk menampilkan penjualan aktual dalam notasi ilmiah. Untuk mengembalikan nilai, Anda perlu mengubah setelan asli:
Oke, apakah itu prinsip adat atau hukum, kami telah memperoleh hasil yang kami harapkan - penjualan merek TOP5 dan penjualannya yang sesuai di tahun lalu. Dari hasil data, 20 merek di bawah perusahaan besar sedang marak, dengan Merek 5 sebagai pionir, penjualan tahunan mencapai 1,226 miliar, dan merek terbawah juga mencapai 9. 79 Miliar yuan, dengan rata-rata penjualan merek tunggal sebesar 1,085 miliar yuan.
Untuk menyimpulkan
Artikel ini dimulai dengan skenario yang sederhana dan kompleks, sederhananya adalah persyaratannya sendiri sangat sederhana, sedangkan kompleksitasnya adalah data dasarnya melibatkan banyak tabel yang rumit. Kode dan logikanya sendiri sederhana dan mudah dipahami, terutama untuk melempar batu bata dan menerobos hambatan berpikir formulir pemrosesan batch, sehingga mendorong rekan-rekan untuk menggunakan Python untuk mengubah kompleks menjadi giok sederhana dalam skenario yang sesuai. Ada 128 tabel dalam case Anda dapat mencoba dan mengeksplorasi sendiri analisis yang lebih menarik.
https: // github .com / seizeeveryday / DA-cases / tree / master / Python% 2Bexcel
Penulis: Zhou Zhipeng, analisis data 2 tahun, sangat menyenangkan dan proses pembelajaran analisis data dalam kasus kurangnya frustrasi, kemudian nomor publik yang baru dibuka "data tidak membual", teknik analisis data yang diperbarui secara berkala relevan dan kasus yang menarik (termasuk data aktual Set), selamat datang semuanya perhatian berkomunikasi dengan.
Penafian: Artikel ini diserahkan oleh penulis, dan hak ciptanya adalah milik penulis sendiri.
AKHIR
- Peringatan dari pemegang saham lama yang telah kehilangan jutaan dolar: Jika investor ritel di bawah 50.000 ingin tidak kehilangan uang, disarankan untuk menghafal "harga sejumlah besar Changyin tida
- Saya tidak ingin "berpura-pura" saat bepergian, saya hanya ingin mengenakan pakaian yang nyaman dan cantik
- Grup Youth League U19A menggelar "Kaiserslautern Myth", mengungkap formula kemenangan Tim Kedua Evergrande
- Artileri multi-partai (Yangxian besar + Yinxian + Dayangxian = terdiri dari tiga lilin): Ini adalah bentuk kombinasi kandil super kuat. Berikut adalah kunci untuk pembelian yang sebenarnya.