Python, panda, dan memecahkan tiga masalah dari dunia Excel

Excel adalah alat analisis data yang sangat umum. Sangat mudah untuk belajar bagaimana bekerja dengannya, itu ada di hampir setiap komputer, dan orang yang telah menguasainya dapat memecahkan masalah yang cukup rumit dengannya. Python sering dianggap sebagai alat yang kemampuannya hampir tidak terbatas, tetapi yang lebih sulit untuk dikuasai daripada Excel. Penulis materi, terjemahan yang kami terbitkan hari ini, ingin berbicara tentang solusi menggunakan Python dari tiga tugas yang biasanya diselesaikan di Excel. Artikel ini adalah sedikit pengantar tentang Python bagi mereka yang mengenal Excel dengan baik.



Pemuatan data


Mari kita mulai dengan mengimpor pustaka Python pandasdan memuat data ke dalam frame data yang disimpan di lembar salesdan statesbuku kerja Excel. Kami akan memberikan nama yang sama untuk frame data yang sesuai.

import pandas as pd
sales = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/pythonexcel.xlsx', sheet_name = 'sales')
states = pd.read_excel('https://github.com/datagy/mediumdata/raw/master/pythonexcel.xlsx', sheet_name = 'states')

Sekarang kita akan menggunakan metode .head()bingkai data salesuntuk menampilkan elemen di awal bingkai data:

print(sales.head())

Bandingkan apa yang akan ditampilkan dengan apa yang dapat Anda lihat di Excel.


Perbandingan penampilan output data di Excel dengan penampilan output data dari bingkai data panda

Di sini Anda dapat melihat bahwa hasil memvisualisasikan data dari bingkai data sangat mirip dengan apa yang dapat Anda lihat di Excel. Tetapi ada beberapa perbedaan yang sangat penting:

  • Penomoran baris di Excel dimulai pada 1, dan di panda angka (indeks) dari baris pertama adalah 0.
  • Di Excel, kolom memiliki huruf yang dimulai dengan huruf A, dan dalam panda, nama-nama kolom sesuai dengan nama-nama variabel yang sesuai.

Kami akan terus mempelajari kemungkinan panda yang memungkinkan kami untuk memecahkan masalah yang biasanya diselesaikan di Excel.

Menerapkan Fungsi Excel Excel IF IF di Python


Di Excel, ada fungsi IFyang sangat nyaman yang memungkinkan, misalnya, menulis sesuatu ke sel, berdasarkan memeriksa apa yang ada di sel lain. Misalkan Anda ingin membuat kolom baru di Excel, sel-selnya akan memberi tahu kami jika nilai dalam sel yang sesuai dalam kolom melebihi 500 B. Di Excel, EAnda bisa menetapkan judul ke kolom seperti itu (dalam kasus kami, kolom ) dengan MoreThan500menulis teks yang sesuai ke sel E1. Setelah itu, di dalam sel E2, Anda dapat memasukkan yang berikut ini:

=IF([@Sales]>500, "Yes", "No")


Menggunakan fungsi IF di Excel

Untuk melakukan hal yang sama dengan panda, Anda bisa menggunakan pemahaman daftar:

sales['MoreThan500'] = ['Yes' if x > 500 else 'No' for x in sales['Sales']]


Daftar penyertaan dalam Python: jika nilai saat ini lebih dari 500, Ya dimasukkan dalam daftar, jika tidak, Tidak

Daftar inklusi adalah alat yang sangat baik untuk menyelesaikan masalah seperti itu, yang memungkinkan kita untuk menyederhanakan kode dengan mengurangi kebutuhan untuk konstruksi kompleks seperti jika / selain itu. Masalah yang sama dapat diselesaikan dengan if / else, tetapi pendekatan yang diusulkan menghemat waktu dan membuat kode sedikit lebih bersih. Detail tentang daftar inklusi dapat ditemukan di sini .

Menerapkan Fungsi Excel VLOOKUP dengan Python


Dalam dataset kami, di salah satu lembar Excel, ada nama kota, dan yang lain, nama negara bagian dan provinsi. Bagaimana cara mengetahui dengan tepat di mana setiap kota berada? Fungsi Excel cocok untuk ini VLOOKUP, yang dengannya Anda bisa menautkan data dua tabel. Fungsi ini bekerja berdasarkan prinsip gabungan kiri, ketika setiap catatan dari kumpulan data yang terletak di sisi kiri ekspresi disimpan. Menggunakan fungsi VLOOKUP, kami menyarankan agar sistem mencari nilai tertentu di kolom tertentu dari lembar tertentu, dan kemudian mengembalikan nilai yang merupakan jumlah kolom tertentu di sebelah kanan nilai yang ditemukan. Begini tampilannya:

=VLOOKUP([@City],states,2,false)

Kami menetapkan salesjudul kolom pada lembar Fsaat kami Statemenggunakan fungsi VLOOKUPuntuk mengisi sel-sel kolom ini dengan nama-nama negara bagian dan provinsi di mana kota-kota tersebut berada.


Menggunakan fungsi VLOOKUP di Excel

Dalam Python, Anda bisa melakukan hal yang sama menggunakan metodemergedari panda. Dibutuhkan dua frame data dan menggabungkannya. Untuk mengatasi masalah ini, kita memerlukan kode berikut:

sales = pd.merge(sales, states, how='left', on='City')

Mari kita analisa:

  1. Argumen pertama untuk metode mergeini adalah bingkai data asli.
  2. Argumen kedua adalah bingkai data di mana kita mencari nilai.
  3. Argumen howmenunjukkan dengan tepat bagaimana kita ingin bergabung dengan data.
  4. Argumen onmenunjuk ke variabel dimana koneksi harus dilakukan (di sini Anda masih dapat menggunakan argumen left_ondan right_on, jika data yang menarik bagi kami dalam bingkai data yang berbeda diberi nama berbeda).

Tabel ringkasan


Pivot Tables adalah salah satu fitur Excel yang paling kuat. Tabel ini memungkinkan Anda untuk dengan cepat mengekstrak informasi berharga dari kumpulan data besar. Buat Excel PivotTable yang menampilkan informasi tentang total penjualan untuk setiap kota.


Membuat PivotTable di Excel

Seperti yang Anda lihat, untuk membuat tabel seperti itu, cukup seret bidangCityke bagianRowsdan bidangSaleske bagianValues. Setelah itu, Excel akan secara otomatis menampilkan total penjualan untuk setiap kota.

Untuk membuat tabel pivot yang sama di panda, Anda harus menulis kode berikut:

sales.pivot_table(index = 'City', values = 'Sales', aggfunc = 'sum')

Mari kita analisa:

  1. Di sini kita menggunakan metode sales.pivot_table, memberi tahu panda bahwa kita ingin membuat tabel pivot berdasarkan bingkai data sales.
  2. Argumen indexmenunjuk ke kolom di mana kami ingin mengumpulkan data.
  3. Argumen valuesmenunjukkan nilai mana yang akan kita agregat.
  4. Argumen aggfuncmenentukan fungsi yang kita ingin menggunakan dalam pengolahan nilai (di sini Anda masih dapat menggunakan fungsi mean, max, mindan sebagainya).

Ringkasan


Dari materi ini Anda belajar tentang cara mengimpor data Excel ke dalam panda, cara menerapkan kapabilitas fungsi Excel IFdan panda alat PythonVLOOKUP, serta cara mereproduksi fungsi tabel pivot Excel menggunakan panda. Mungkin sekarang Anda bertanya-tanya mengapa Anda harus menggunakan panda jika Anda dapat melakukan hal yang sama di Excel. Tidak ada jawaban tunggal untuk pertanyaan ini. Python memungkinkan Anda membuat kode yang dapat disesuaikan dan diteliti secara mendalam. Kode semacam itu dapat digunakan kembali. Python dapat menggambarkan skema analisis data yang sangat kompleks. Dan fitur Excel mungkin hanya cukup untuk penelitian data skala kecil. Jika Anda hanya menggunakan Excel hingga saat ini, saya sarankan Anda mencoba Python dan panda dan mencari tahu apa yang dapat Anda lakukan.

Alat apa yang Anda gunakan untuk menganalisis data?

, , iPhone. , .


All Articles