Bisakah python panda membaca excel?

Mengapa belajar bekerja dengan Excel dengan Python? . Dari analis, hingga wakil presiden penjualan, hingga CEO, berbagai profesional menggunakan Excel untuk statistik cepat dan pemrosesan data yang serius

Dengan Excel yang begitu meresap, profesional data harus terbiasa dengannya. Bekerja dengan data di Python atau R menawarkan keuntungan serius dibandingkan UI Excel, jadi menemukan cara untuk bekerja dengan Excel menggunakan kode sangatlah penting. Untungnya, sudah ada alat hebat di luar sana untuk menggunakan Excel dengan Python bernama

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
9

Panda memiliki metode yang sangat baik untuk membaca semua jenis data dari file Excel. Anda juga dapat mengekspor hasil Anda dari panda kembali ke Excel, jika itu disukai oleh audiens yang Anda tuju. Panda sangat bagus untuk tugas analisis data rutin lainnya, seperti

  • Analisis Data Eksplorasi cepat (EDA)
  • menggambar plot yang menarik
  • memasukkan data ke dalam alat pembelajaran mesin seperti scikit-learn
  • membangun model pembelajaran mesin pada data Anda
  • mengambil data yang dibersihkan dan diproses ke sejumlah alat data

Panda lebih baik dalam mengotomatiskan tugas pemrosesan data daripada Excel, termasuk memproses file Excel

Dalam tutorial ini, kami akan menunjukkan cara bekerja dengan file Excel di panda. Kami akan membahas konsep-konsep berikut

  • mengatur komputer Anda dengan perangkat lunak yang diperlukan
  • membaca data dari file Excel ke dalam panda
  • eksplorasi data di panda
  • memvisualisasikan data dalam panda menggunakan pustaka visualisasi matplotlib
  • memanipulasi dan membentuk kembali data dalam panda
  • memindahkan data dari panda ke Excel

Perhatikan bahwa tutorial ini tidak memberikan penjelasan mendalam tentang panda. Untuk menjelajahi panda lebih lanjut, lihat kursus kami

Prasyarat Sistem

Kami akan menggunakan Python 3 dan Jupyter Notebook untuk mendemonstrasikan kode dalam tutorial ini. Selain Python dan Jupyter Notebook, Anda memerlukan modul Python berikut

  • matplotlib – visualisasi data
  • NumPy – fungsionalitas data numerik
  • OpenPyXL – baca/tulis file Excel 2010 xlsx/xlsm
  • panda – impor data, pembersihan, eksplorasi, dan analisis
  • xlrd – membaca data Excel
  • xlwt – menulis ke Excel
  • XlsxWriter – tulis ke file Excel (xlsx).

Ada beberapa cara untuk menyiapkan semua modul. Kami membahas tiga skenario paling umum di bawah ini

  • Jika Anda menginstal Python melalui manajer paket Anaconda, Anda dapat menginstal modul yang diperlukan menggunakan perintah
    movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
    movies_sheet2.head()
    0. Misalnya, untuk menginstal panda, Anda akan menjalankan perintah –
    movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
    movies_sheet2.head()
    1
  • Jika Anda sudah menginstal Python reguler non-Anaconda di komputer, Anda dapat menginstal modul yang diperlukan menggunakan
    movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
    movies_sheet2.head()
    2. Buka program baris perintah Anda dan jalankan perintah
    movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
    movies_sheet2.head()
    3 untuk menginstal modul. Anda harus mengganti
    movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
    movies_sheet2.head()
    _4 dengan nama sebenarnya dari modul yang Anda coba pasang. Misalnya, untuk menginstal panda, Anda akan menjalankan perintah –
    movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
    movies_sheet2.head()
    5
  • Jika Anda belum menginstal Python, Anda harus mendapatkannya melalui pengelola paket Anaconda. Anaconda menyediakan penginstal untuk Komputer Windows, Mac, dan Linux. Jika Anda memilih penginstal lengkap, Anda akan mendapatkan semua modul yang Anda butuhkan, bersama dengan Python dan panda dalam satu paket. Ini adalah cara termudah dan tercepat untuk memulai

Kumpulan Data

Dalam tutorial ini, kami akan menggunakan file Excel multi-lembar yang kami buat dari data Skor IMDB Kaggle. Anda dapat mengunduh file di sini

Bisakah python panda membaca excel?

File Excel kami memiliki tiga lembar. '1900-an,' '2000-an,' dan '2010-an. ' Setiap lembar memiliki data untuk film dari tahun-tahun itu

Kami akan menggunakan kumpulan data ini untuk menemukan distribusi peringkat untuk film, memvisualisasikan film dengan peringkat tertinggi dan pendapatan bersih, serta menghitung informasi statistik tentang film tersebut. Kami akan menganalisis dan menjelajahi data ini menggunakan Python dan panda, sehingga mendemonstrasikan kemampuan panda untuk bekerja dengan data Excel dengan Python

Membaca data dari file Excel

Pertama-tama kita perlu mengimpor data dari file Excel ke panda. Untuk melakukannya, kita mulai dengan mengimpor modul pandas

import pandas as pd

We then use the pandas’ read_excel method to read in data from the Excel file. The easiest way to call this method is to pass the file name. If no sheet name is specified then it will read the first sheet in the index (as shown below)

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)

Here, the

movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
6 method read the data from the Excel file into a pandas DataFrame object. Pandas defaults to storing data in DataFrames. We then stored this DataFrame into a variable called
movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
7

Pandas has a built-in

movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
8 method that we can use to easily display the first few rows of our DataFrame. If no argument is passed, it will display first five rows. If a number is passed, it will display the equal number of rows from the top

movies.head()

TitleYearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross Earnings…Facebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB Score0Intolerance. Love’s Struggle Throughout the Ages1916Drama. History. WarNaNUSANot Rated1231. 33385907. 0NaN…436229. 04816911107188869. 08. 01Over the Hill to the Poorhouse1920Crime. DramaNaNUSANaN1101. 33100000. 03000000. 0…220. 0401511. 04. 82The Big Parade1925Drama. Romance. WarNaNUSANot Rated1511. 33245000. 0NaN…81126. 0108226048494548. 08. 33Metropolis1927Drama. Sci-FiGermanGermanyNot Rated1451. 336000000. 026435. 0…1362318. 0203120001111841413260. 08. 34Pandora’s Box1929Crime. Drama. RomanceGermanGermanyNot Rated1101. 33NaN9950. 0…426203. 0455926174318471. 08. 0

5 rows × 25 columns

Excel files quite often have multiple sheets and the ability to read a specific sheet or all of them is very important. To make this easy, the pandas

movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
6 method takes an argument called
movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
0 that tells pandas which sheet to read in the data from. For this, you can either use the sheet name or the sheet number. Sheet numbers start with zero. If the
movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
0 argument is not given, it defaults to zero and pandas will import the first sheet

By default, pandas will automatically assign a numeric index or row label starting with zero. You may want to leave the default index as such if your data doesn’t have a column with unique values that can serve as a better index. In case there is a column that you feel would serve as a better index, you can override the default behavior by setting

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
2 property to a column. It takes a numeric value for setting a single column as index or a list of numeric values for creating a multi-index

In the below code, we are choosing the first column, ‘Title’, as index (index=0) by passing zero to the

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
2 argument

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()

YearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsDirector…Facebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB ScoreTitleIntolerance. Perjuangan Cinta Sepanjang Zaman1916Drama. History. WarNaNUSANot Rated1231. 33385907. 0NaND. W. Griffith…436229. 04816911107188869. 08. 0Over the Hill to the Poorhouse1920Crime. DramaNaNUSANaN1101. 33100000. 03000000. 0Harry F. Millarde…220. 0401511. 04. 8The Big Parade1925Drama. Romance. WarNaNUSANot Rated1511. 33245000. 0NaNKing Vidor…81126. 0108226048494548. 08. 3Metropolis1927Drama. Sci-FiGermanGermanyNot Rated1451. 336000000. 026435. 0Fritz Lang…1362318. 0203120001111841413260. 08. 3Pandora’s Box1929Crime. Drama. RomanceGermanGermanyNot Rated1101. 33NaN9950. 0Georg Wilhelm Pabst…426203. 0455926174318471. 08. 0

5 baris × 24 kolom

Seperti yang Anda perhatikan di atas, file data Excel kami memiliki tiga lembar. Kami sudah membaca lembar pertama di DataFrame di atas. Sekarang, dengan menggunakan sintaks yang sama, kita juga akan membaca sisa dari dua lembar

movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
_

TahunGenreBahasaNegaraRating KontenDurasiRasio AspekAnggaranPenghasilan KotorSutradara…Suka Facebook – Aktor 1Suka Facebook – Aktor 2Suka Facebook – Aktor 3Suka Facebook – memberikan TotalSuka Facebook – FilmNomor wajah dalam posterUlasan PenggunaUlasan oleh PenggunaUlasan oleh KritikusSkor IMDBTitle102 Dalmatians2000Petualangan. Komedi. KeluargaBahasa InggrisUSAG100. 01. 8585000000. 066941559. 0Kevin Lima…2000. 0795. 0439. 0418237212641377. 084. 04. 828 Days2000Comedy. DramaEnglishUSAPG-13103. 01. 3743000000. 037035515. 0Betty Thomas…12000. 010000. 0664. 0238640134597194. 0116. 06. 03 Strikes2000ComedyEnglishUSAR82. 01. 856000000. 09821335. 0DJ Pooh…939. 0706. 0585. 033541181141510. 022. 04. 0Aberdeen2000DramaEnglishUKNaN106. 01. 856500000. 064148. 0Hans Petter Moland…844. 02. 00. 08462600260135. 028. 07. 3All the Pretty Horses2000Drama. Romance. WesternEnglishUSAPG-13220. 02. 3557000000. 015527125. 0Billy Bob Thornton…13000. 0861. 0820. 015006652211388183. 085. 05. 8

5 baris × 24 kolom

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()

YearGenresLanguageCountryContent RatingDurationAspect RatioBudgetGross EarningsDirector…Facebook Likes – Actor 1Facebook Likes – Actor 2Facebook Likes – Actor 3Facebook Likes – cast TotalFacebook likes – MovieFacenumber in postersUser VotesReviews by UsersReviews by CrtiicsIMDB ScoreTitle127 Hours2010. 0Adventure. Biography. Drama. ThrillerEnglishUSAR94. 01. 8518000000. 018329466. 0Danny Boyle…11000. 0642. 0223. 011984630000. 0279179440. 0450. 07. 63 Backyards2010. 0DramaEnglishUSAR88. 0NaN300000. 0NaNEric Mendelsohn…795. 0659. 0301. 01884920. 055423. 020. 05. 232010. 0Comedy. Drama. RomanceGermanGermanyUnrated119. 02. 35NaN59774. 0Tom Tykwer…24. 020. 09. 06920000. 0421218. 076. 06. 88. The Mormon Proposition2010. 0DocumentaryEnglishUSAR80. 01. 782500000. 099851. 0Reed Cowan…191. 012. 05. 021000. 0113830. 028. 07. 1A Kisah Penyu. Petualangan Sammy2010. 0Petualangan. Animasi. KeluargaBahasa InggrisPrancisPG88. 02. 35NaNNaNBen Stassen…783. 0749. 0602. 0387402. 0538522. 056. 06. 1

5 baris × 24 kolom

Karena ketiga sheet tersebut memiliki data yang sama tetapi untuk recordmovies yang berbeda, kami akan membuat satu DataFrame dari ketiga DataFrame yang kami buat di atas. Kami akan menggunakan metode panda

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
_4 untuk ini dan meneruskan nama dari tiga DataFrame yang baru saja kami buat dan menetapkan hasilnya ke objek DataFrame baru,
movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
7. Dengan mempertahankan nama DataFrame sama seperti sebelumnya, kami menimpa DataFrame yang dibuat sebelumnya

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])

Kita dapat memeriksa apakah rangkaian ini dengan memeriksa jumlah baris dalam DataFrame gabungan dengan memanggil metode

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
6 di atasnya yang akan memberi kita jumlah baris dan kolom

movies.shape
(5042, 24)

Menggunakan kelas ExcelFile untuk membaca banyak lembar

Kita juga bisa menggunakan kelas ExcelFile untuk bekerja dengan beberapa sheet dari file Excel yang sama. Kami pertama-tama membungkus file Excel menggunakan

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
_7 dan kemudian meneruskannya ke metode
movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
6

xlsx = pd.ExcelFile(excel_file)
movies_sheets = []
for sheet in xlsx.sheet_names:
   movies_sheets.append(xlsx.parse(sheet))
movies = pd.concat(movies_sheets)

Jika Anda membaca file Excel dengan banyak lembar dan membuat banyak DataFrames,

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
7 lebih nyaman dan efisien dibandingkan dengan
movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
6. Dengan ExcelFile, Anda hanya perlu mengirimkan file Excel satu kali, lalu Anda dapat menggunakannya untuk mendapatkan DataFrames. Saat menggunakan
movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
_6, Anda melewatkan file Excel setiap kali dan karenanya file dimuat lagi untuk setiap lembar. Ini bisa menjadi hambatan kinerja yang sangat besar jika file Excel memiliki banyak lembar dengan jumlah baris yang banyak

Menjelajahi data

Sekarang kita telah membaca kumpulan data film dari file Excel kita, kita dapat mulai menjelajahinya menggunakan panda. DataFrame panda menyimpan data dalam format tabel, seperti cara Excel menampilkan data dalam lembar. Panda memiliki banyak metode bawaan untuk menjelajahi DataFrame yang kita buat dari file Excel yang baru saja kita baca

Kami telah memperkenalkan metode

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
_2 di bagian sebelumnya yang menampilkan beberapa baris dari atas dari DataFrame. Mari kita lihat beberapa metode lagi yang berguna saat menjelajahi kumpulan data

Kita dapat menggunakan metode

movies_sheet3 = pd.read_excel(excel_file, sheetname=2, index_col=0)
movies_sheet3.head()
_6 untuk mengetahui jumlah baris dan kolom untuk DataFrame

movies.shape
excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
1

Ini memberitahu kita bahwa file Excel kita memiliki 5042 record dan 25 kolom atau observasi. Ini dapat berguna dalam melaporkan jumlah catatan dan kolom dan membandingkannya dengan kumpulan data sumber

Kita dapat menggunakan metode

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
_4 untuk melihat baris paling bawah. Jika tidak ada parameter yang diteruskan, hanya lima baris terbawah yang dikembalikan

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
_2

JudulTahunGenreBahasaNegaraRating KontenDurasiRasio AspekAnggaranPenghasilan Kotor…Suka Facebook – Aktor 1Suka Facebook – Aktor 2Suka Facebook – Aktor 3Suka Facebook – memberikan TotalSuka Facebook – FilmNomor wajah di posterSuara PenggunaUlasan oleh PenggunaUlasan oleh KritikusSkor IMDB1599Perang & DamaiNaNDrama. Sejarah. Romance. WarEnglishUKTV-14NaN16. 00NaNNaN…1000. 0888. 0502. 04528110001. 0927744. 010. 08. 21600SayapNaNKomedi. DramaEnglishUSANaN30. 01. 33NaNNaN…685. 0511. 0424. 0188410005. 0764656. 019. 07. 31601Wolf CreekNaNDrama. Kengerian. ThrillerInggrisAustraliaNaNNaN2. 00NaNNaN…511. 0457. 0206. 016179540. 07266. 02. 07. 11602Wuthering HeightsNaNDrama. RomantisBahasa InggrisUKNaN142. 0NaNNaNNaN…27000. 0698. 0427. 02919602. 0605333. 09. 07. 71603Yu-Gi-Oh. Duel MonstersNaNAction. Petualangan. Animasi. Keluarga. FantasiJepangJepangNaN24. 0NaNNaNNaN…0. 0NaNNaN01240. 01241751. 06. 07. 0

5 rows × 25 columns

Di Excel, Anda dapat mengurutkan lembar kerja berdasarkan nilai dalam satu atau beberapa kolom. Di panda, Anda dapat melakukan hal yang sama dengan metode

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
5. Misalnya, mari kita urutkan film DataFrame berdasarkan kolom Penghasilan Kotor

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
_3

Karena kami memiliki data yang diurutkan berdasarkan nilai dalam kolom, kami dapat melakukan beberapa hal menarik dengannya. Misalnya, kami dapat menampilkan 10 film teratas berdasarkan Penghasilan Kotor

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
4
excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
5

Kami juga dapat membuat plot untuk 10 film teratas berdasarkan Pendapatan Kotor. Panda memudahkan memvisualisasikan data Anda dengan plot dan bagan melalui matplotlib, pustaka visualisasi data yang populer. Dengan beberapa baris kode, Anda dapat mulai merencanakan. Selain itu, plot matplotlib berfungsi dengan baik di dalam Notebook Jupyter karena Anda dapat memindahkan plot tepat di bawah kode

Pertama, kami mengimpor modul matplotlib dan mengatur matplotlib untuk menampilkan plot langsung di Notebook Jupyter

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
_6

Kami akan menggambar plot batang di mana setiap batang akan mewakili salah satu dari 10 film teratas. Kita dapat melakukan ini dengan memanggil metode plot dan menyetel argumen

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
6 ke
movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
7. Ini memberitahu
movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
_8 untuk menggambar plot batang horizontal

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
_7

Bisakah python panda membaca excel?

Mari buat histogram Skor IMDB untuk memeriksa distribusi Skor IMDB di semua film. Histogram adalah cara yang baik untuk memvisualisasikan distribusi kumpulan data. Kami menggunakan metode

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
_9 pada seri IMDB Scores dari film DataFrame kami dan menyebarkan argumennya

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
_8

Bisakah python panda membaca excel?

Visualisasi data ini menunjukkan bahwa sebagian besar Skor IMDB berada di antara enam dan delapan

Mendapatkan informasi statistik tentang data

Panda memiliki beberapa metode yang sangat berguna untuk melihat data statistik tentang kumpulan data kami. For example, we can use the

movies.shape
0 method to get a statistical summary of the data set

excel_file = 'movies.xls'
movies = pd.read_excel(excel_file)
_9

TahunDurasiRasio AspekAnggaranPenghasilan KotorSuka Facebook – SutradaraSuka Facebook – Aktor 1Suka Facebook – Aktor 2Suka Facebook – Aktor 3Suka Facebook – berikan Totalsuka Facebook – FilmWajahNomor di posterSuara PenggunaUlasan oleh PenggunaUlasan oleh KritikusIMDB Scorecount4935. 0000005028. 0000004714. 0000004. 551000e+034. 159000e+034938. 0000005035. 0000005029. 0000005020. 0000005042. 0000005042. 0000005029. 0000005. 042000e+035022. 0000004993. 0000005042. 000000mean2002. 470517107. 2010742. 2204033. 975262e+074. 846841e+07686. 6217096561. 3239321652. 080533645. 0097619700. 9591437527. 4571601. 3714468. 368475e+04272. 770808140. 1942726. 442007std12. 47459925. 1974411. 3851132. 061149e+086. 845299e+072813. 60240515021. 9776354042. 7746851665. 04172818165. 10192519322. 0705372. 0136831. 384940e+05377. 982886121. 6016751. 125189min1916. 0000007. 0000001. 1800002. 180000e+021. 620000e+020. 0000000. 0000000. 0000000. 0000000. 0000000. 0000000. 0000005. 000000e+001. 0000001. 0000001. 60000025%1999. 00000093. 0000001. 8500006. 000000e+065. 340988e+067. 000000614. 500000281. 000000133. 0000001411. 2500000. 0000000. 0000008. 599250e+0365. 00000050. 0000005. 80000050%2005. 000000103. 0000002. 3500002. 000000e+072. 551750e+0749. 000000988. 000000595. 000000371. 5000003091. 000000166. 0000001. 0000003. 437100e+04156. 000000110. 0000006. 60000075%2011. 000000118. 0000002. 3500004. 500000e+076. 230944e+07194. 75000011000. 000000918. 000000636. 00000013758. 7500003000. 0000002. 0000009. 634700e+04326. 000000195. 0000007. 200000maks2016. 000000511. 00000016. 0000001. 221550e+107. 605058e+0823000. 000000640000. 000000137000. 00000023000. 000000656730. 000000349000. 00000043. 0000001. 689764e+065060. 000000813. 0000009. 500000

Metode

movies.shape
_0 menampilkan informasi di bawah untuk setiap kolom

  • jumlah atau jumlah nilai
  • berarti
  • standar deviasi
  • minimal, maksimal
  • Kuantil 25%, 50%, dan 75%.

Harap perhatikan bahwa informasi ini hanya akan dihitung untuk nilai numerik

Kami juga dapat menggunakan metode yang sesuai untuk mengakses informasi ini satu per satu. Misalnya, untuk mendapatkan rata-rata kolom tertentu, Anda dapat menggunakan metode

movies.shape
2 pada kolom tersebut

movies.head()
0
movies.head()
1

Sama seperti rata-rata, ada metode yang tersedia untuk setiap informasi statistik yang ingin kita akses. Anda dapat membaca tentang metode ini di lembar contekan panda gratis kami

Membaca file tanpa header dan melewatkan catatan

Sebelumnya dalam tutorial ini, kita melihat beberapa cara untuk membaca file Excel jenis tertentu yang memiliki header dan tidak ada baris yang perlu dilewati. Terkadang, lembar Excel tidak memiliki baris header. Untuk contoh seperti itu, Anda dapat memberi tahu panda untuk tidak menganggap baris pertama sebagai nama tajuk atau kolom. And If the Excel sheet’s first few rows contain data that should not be read in, you can ask the

movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
6 method to skip a certain number of rows, starting from the top

Misalnya, lihat beberapa baris teratas dari file Excel ini

Bisakah python panda membaca excel?

File ini jelas tidak memiliki header dan empat baris pertama bukan catatan sebenarnya dan karenanya tidak boleh dibaca. Kita dapat memberitahu read_excel bahwa tidak ada header dengan menyetel argumen

movies.shape
4 ke
movies.shape
5 dan kita dapat melewati empat baris pertama dengan menyetel argumen
movies.shape
6 ke empat

movies.head()
2

0123456789…151617181920212223240Metropolis1927Drama. Sci-FiGermanGermanyNot Rated1451. 336000000. 026435. 0…1362318. 0203120001111841413260. 08. 31Kotak Pandora1929Kejahatan. Drama. RomansaJermanJermanNot Rated1101. 33NaN9950. 0…426203. 0455926174318471. 08. 02 Musikal Melodi Broadway 1929. RomanceEnglishUSAPassed1001. 37379000. 02808000. 0…77284. 0109167845467136. 06. 33Malaikat Neraka1930Drama. WarEnglishUSAPassed961. 203950000. 0NaN…431124. 0457279137535335. 07. 84A Farewell to Arms1932Drama. Percintaan. WarEnglishUSAUnrated791. 37800000. 0NaN…99816499. 01284213135194642. 06. 6

5 rows × 25 columns

Kami melewatkan empat baris dari sheet dan tidak menggunakan satu pun baris sebagai header. Juga, perhatikan bahwa seseorang dapat menggabungkan opsi yang berbeda dalam satu pernyataan baca. Untuk melewati baris di bagian bawah lembar, Anda dapat menggunakan opsi

movies.shape
7, yang berfungsi seperti
movies.shape
6, satu-satunya perbedaan adalah baris dihitung dari bawah ke atas

Nama kolom di DataFrame sebelumnya adalah numerik dan diberikan sebagai default oleh panda. Kita dapat mengganti nama kolom menjadi deskriptif dengan memanggil metode

movies.shape
9 pada DataFrame dan meneruskan nama kolom sebagai daftar

movies.head()
3

JudulTahunGenreBahasaNegaraRating KontenDurasiRasio AspekAnggaranPenghasilan Kotor…Suka Facebook – Aktor 1Suka Facebook – Aktor 2Suka Facebook – Aktor 3Suka Facebook – memberikan Totalsuka Facebook – FilmNomor wajah dalam posterUlasan PenggunaUlasan oleh PenggunaUlasan oleh KritikusSkor IMDB0Metropolis1927Drama. Sci-FiGermanGermanyNot Rated1451. 336000000. 026435. 0…1362318. 0203120001111841413260. 08. 31Kotak Pandora1929Kejahatan. Drama. RomansaJermanJermanNot Rated1101. 33NaN9950. 0…426203. 0455926174318471. 08. 02 Musikal Melodi Broadway 1929. RomanceEnglishUSAPassed1001. 37379000. 02808000. 0…77284. 0109167845467136. 06. 33Malaikat Neraka1930Drama. WarEnglishUSAPassed961. 203950000. 0NaN…431124. 0457279137535335. 07. 84A Farewell to Arms1932Drama. Percintaan. WarEnglishUSAUnrated791. 37800000. 0NaN…99816499. 01284213135194642. 06. 6

5 rows × 25 columns

Sekarang kita telah melihat cara membaca subset baris dari file Excel, kita dapat mempelajari cara membaca subset kolom

Membaca subset kolom

Meskipun read_excel default untuk membaca dan mengimpor semua kolom, Anda dapat memilih untuk mengimpor kolom tertentu saja. Dengan melewatkan parse_cols=6, kami memberi tahu metode

movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
6 untuk hanya membaca kolom pertama hingga indeks enam atau tujuh kolom pertama (kolom pertama diindeks nol)

movies.head()
4

TitleYearGenresLanguageCountryContent RatingDuration0Intolerance. Perjuangan Cinta Sepanjang Zaman1916Drama. Sejarah. WarNaNUSANTidak Berperingkat1231 Over the Hill to the Poorhouse 1920 Crime. DramaNaNUSANaN1102The Big Parade1925Drama. Percintaan. WarNaNUSANot Rated1513Metropolis1927Drama. Sci-FiGermanJermanNot Rated1454Pandora’s Box1929Kejahatan. Drama. RomantisJermanJermanTidak Berperingkat110

Alternatifnya, Anda dapat mengirimkan daftar angka, yang memungkinkan Anda mengimpor kolom pada indeks tertentu

Menerapkan rumus pada kolom

Salah satu fitur Excel yang banyak digunakan adalah menerapkan rumus untuk membuat kolom baru dari nilai kolom yang sudah ada. Di file Excel kami, kami memiliki kolom Penghasilan Kotor dan Anggaran. Kita bisa mendapatkan penghasilan bersih dengan mengurangkan Anggaran dari penghasilan Kotor. Kami kemudian dapat menerapkan rumus ini di file Excel ke semua baris. Kita bisa melakukan ini di panda juga seperti yang ditunjukkan di bawah ini

movies.head()
5

Di atas, kami menggunakan panda untuk membuat kolom baru bernama Penghasilan Bersih, dan mengisinya dengan selisih Penghasilan Kotor dan Anggaran. Perlu diperhatikan perbedaan di sini tentang bagaimana rumus diperlakukan di Excel versus panda. Di Excel, rumus ada di dalam sel dan diperbarui saat data berubah – dengan Python, penghitungan dilakukan dan nilainya disimpan – jika Penghasilan Kotor untuk satu film diubah secara manual, Penghasilan Bersih tidak akan diperbarui

Mari gunakan metode

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
_5 untuk mengurutkan data berdasarkan kolom baru yang kita buat dan memvisualisasikan 10 film teratas menurut Penghasilan Bersih

movies.head()
6

Bisakah python panda membaca excel?

Tabel Pivot di panda

Pengguna Excel tingkat lanjut juga sering menggunakan tabel pivot. Tabel pivot meringkas data dari tabel lain dengan mengelompokkan data pada indeks dan menerapkan operasi seperti menyortir, menjumlahkan, atau merata-ratakan. Anda juga dapat menggunakan fitur ini di panda

Pertama-tama kita harus mengidentifikasi kolom atau beberapa kolom yang akan berfungsi sebagai indeks, dan kolom yang akan digunakan rumus ringkasan. Mari kita mulai dari yang kecil, dengan memilih Tahun sebagai kolom indeks dan Penghasilan Kotor sebagai kolom ringkasan dan membuat DataFrame terpisah dari data ini

movies.head()
7

TahunPenghasilan Kotor01916. 0NaN11920. 03000000. 021925. 0NaN31927. 026435. 041929. 09950. 0

Kami sekarang memanggil

(5042, 24)
_2 pada subset data ini. Metode
(5042, 24)
_2 mengambil parameter
(5042, 24)
4. Seperti disebutkan, kami ingin menggunakan Tahun sebagai indeks

movies.head()
8

Penghasilan KotorTahun1916. 0NaN1920. 03000000. 01925. 0NaN1927. 026435. 01929. 01408975. 0

Ini memberi kami tabel pivot dengan pengelompokan pada Tahun dan ringkasan jumlah Penghasilan Kotor. Perhatikan, kami tidak perlu menentukan kolom Penghasilan Kotor secara eksplisit karena panda secara otomatis mengidentifikasinya sebagai nilai yang harus diterapkan peringkasan

Kita dapat menggunakan tabel pivot ini untuk membuat beberapa visualisasi data. Kita dapat memanggil metode

movies = pd.concat([movies_sheet1, movies_sheet2, movies_sheet3])
_9 pada DataFrame untuk membuat plot garis dan memanggil metode
(5042, 24)
6 untuk menampilkan plot di notebook

movies.head()
_9

Bisakah python panda membaca excel?

Kami melihat bagaimana melakukan pivot dengan satu kolom sebagai indeks. Hal-hal akan menjadi lebih menarik jika kita dapat menggunakan banyak kolom. Mari buat subset DataFrame lain tetapi kali ini kita akan memilih kolom, Negara, Bahasa, dan Penghasilan Kotor

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
0

CountryLanguageGross Earnings0USANaNNaN1USANaN3000000. 02USANaNNaN3JermanJerman26435. 04JermanJerman9950. 0

Kami akan menggunakan kolom Negara dan Bahasa sebagai indeks untuk tabel pivot. Kami akan menggunakan Penghasilan Kotor sebagai tabel ringkasan, namun, kami tidak perlu menentukannya secara eksplisit seperti yang kita lihat sebelumnya

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
_1

Penghasilan KotorNegaraBahasaAfghanistanDari1. 127331e+06ArgentinaSpanyol7. 230936e+06ArubaBahasa Inggris1. 007614e+07AustraliaAborigin6. 165429e+06Dzongkha5. 052950e+05

Mari visualisasikan tabel pivot ini dengan plot batang. Karena masih ada beberapa ratus catatan dalam tabel pivot ini, kami akan memplot beberapa saja

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
_2

Bisakah python panda membaca excel?

Mengekspor hasilnya ke Excel

Jika Anda akan bekerja dengan kolega yang menggunakan Excel, penting untuk menyimpan file Excel dari panda. Anda dapat mengekspor atau menulis DataFrame panda ke file Excel menggunakan metode panda

(5042, 24)
7. Panda menggunakan modul
(5042, 24)
_8 Python secara internal untuk menulis ke file Excel. Metode
(5042, 24)
_7 dipanggil pada DataFrame yang ingin kita ekspor. Kami juga perlu memberikan nama file yang akan ditulis DataFrame ini

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
_3

Secara default, indeks juga disimpan ke file keluaran. Namun, terkadang indeks tidak memberikan informasi yang berguna. Misalnya,

movies_sheet2 = pd.read_excel(excel_file, sheetname=1, index_col=0)
movies_sheet2.head()
7 DataFrame memiliki indeks kenaikan otomatis numerik, yang bukan merupakan bagian dari data Excel asli

movies.head()

JudulTahunGenreBahasaNegaraRating KontenDurasiRasio AspekAnggaranPenghasilan Kotor…Suka Facebook – Aktor 2Suka Facebook – Aktor 3Suka Facebook – menghasilkan Totalsuka Facebook – FilmWajahNomor di posterSuara PenggunaUlasan oleh PenggunaUlasan oleh KritikusSkor IMDBPenghasilan Bersih0Intoleransi. Perjuangan Cinta Sepanjang Zaman1916. 0Drama. Sejarah. WarNaNUSANTidak Berperingkat123. 01. 33385907. 0NaN…22. 09. 04816911. 01071888. 069. 08. 0NaN1Melewati Bukit ke Rumah Miskin1920. 0Kejahatan. DramaNaNUSANaN110. 01. 33100000. 03000000. 0…2. 00. 0401. 051. 01. 04. 82900000. 02 Parade Besar 1925. 0Drama. Percintaan. WarNaNUSANTidak Berperingkat151. 01. 33245000. 0NaN…12. 06. 01082260. 0484945. 048. 08. 3NaN3Metropolis1927. 0Drama. Sci-FiGermanGermanyNot Rated145. 01. 336000000. 026435. 0…23. 018. 0203120001. 0111841413. 0260. 08. 3-5973565. 04Kotak Pandora1929. 0Kejahatan. Drama. RomantisJermanJermanTidak Berperingkat110. 01. 33NaN9950. 0…20. 03. 04559261. 0743184. 071. 08. 0NaN

5 baris × 26 kolom

Anda dapat memilih untuk melewati indeks dengan meneruskan index-False

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
5

Kita harus bisa membuat file keluaran kita terlihat bagus sebelum kita bisa mengirimkannya ke rekan kerja kita. Kita dapat menggunakan kelas panda

xlsx = pd.ExcelFile(excel_file)
movies_sheets = []
for sheet in xlsx.sheet_names:
   movies_sheets.append(xlsx.parse(sheet))
movies = pd.concat(movies_sheets)
_1 bersama dengan modul Python
xlsx = pd.ExcelFile(excel_file)
movies_sheets = []
for sheet in xlsx.sheet_names:
   movies_sheets.append(xlsx.parse(sheet))
movies = pd.concat(movies_sheets)
2 untuk menerapkan pemformatan

Kita dapat menggunakan opsi keluaran lanjutan ini dengan membuat objek

xlsx = pd.ExcelFile(excel_file)
movies_sheets = []
for sheet in xlsx.sheet_names:
   movies_sheets.append(xlsx.parse(sheet))
movies = pd.concat(movies_sheets)
1 dan menggunakan objek ini untuk menulis ke file EXcel

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
_6

Kami dapat menerapkan penyesuaian dengan memanggil

xlsx = pd.ExcelFile(excel_file)
movies_sheets = []
for sheet in xlsx.sheet_names:
   movies_sheets.append(xlsx.parse(sheet))
movies = pd.concat(movies_sheets)
4 di buku kerja tempat kami menulis. Di sini kita mengatur format header sebagai huruf tebal

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
_7

Terakhir, kami menyimpan file keluaran dengan memanggil metode

xlsx = pd.ExcelFile(excel_file)
movies_sheets = []
for sheet in xlsx.sheet_names:
   movies_sheets.append(xlsx.parse(sheet))
movies = pd.concat(movies_sheets)
5 pada objek penulis

movies_sheet1 = pd.read_excel(excel_file, sheetname=0, index_col=0)
movies_sheet1.head()
_8

Sebagai contoh, kami menyimpan data dengan header kolom yang dicetak tebal. Dan file yang disimpan terlihat seperti gambar di bawah ini

Bisakah python panda membaca excel?

Seperti ini, seseorang dapat menggunakan

xlsx = pd.ExcelFile(excel_file)
movies_sheets = []
for sheet in xlsx.sheet_names:
   movies_sheets.append(xlsx.parse(sheet))
movies = pd.concat(movies_sheets)
_2 untuk menerapkan berbagai pemformatan ke file Excel keluaran

Conclusion

Panda bukanlah pengganti Excel. Kedua alat memiliki tempatnya dalam alur kerja analisis data dan dapat menjadi alat pendamping yang sangat hebat. As we demonstrated, pandas can do a lot of complex data analysis and manipulations, which depending on your need and expertise, can go beyond what you can achieve if you are just using Excel. Salah satu manfaat utama menggunakan Python dan panda di atas Excel adalah membantu Anda mengotomatiskan pemrosesan file Excel dengan menulis skrip dan mengintegrasikannya dengan alur kerja data otomatis Anda. Panda juga memiliki metode yang sangat baik untuk membaca semua jenis data dari file Excel. Anda juga dapat mengekspor hasil dari panda kembali ke Excel jika itu disukai oleh audiens yang Anda tuju

Di sisi lain, Excel adalah alat data yang banyak digunakan, tidak bijaksana untuk mengabaikannya. Memperoleh keahlian dalam panda dan Excel serta membuatnya bekerja sama memberi Anda keterampilan yang dapat membantu Anda tampil menonjol di organisasi Anda

If you’d like to learn more about this topic, check out Dataquest’s interactive Pandas and NumPy Fundamentals course, and our Data Analyst in Python, and Data Scientist in Python paths that will help you become job-ready in around 6 months

Pelajari Keterampilan Data

Get that next raise or to switch to a career in data science by learning data skills

Sign up for a free account and try our interactive courses in Python, R, SQL, and more

Daftar sekarang

(It's Free)

excelintermediateLearn PythonPandaspythontutorialTutorials

About the author

Harish Garg

Entrepreneur, Technical Trainer, and Lead Software Developer with extensive experience in Data Science, Python, Web, and Mobile Development. Passionate about Data Science and Artificial Intelligence

Bisakah Python membaca spreadsheet Excel?

One can retrieve information from a spreadsheet . Membaca, menulis, atau memodifikasi data dapat dilakukan dengan Python dapat dilakukan dengan menggunakan metode yang berbeda.

Bisakah panda membaca CSV membaca Excel?

Salah satu fitur penting dari Panda adalah kemampuannya untuk menulis dan membaca Excel, CSV, dan banyak jenis file lainnya . Fungsi seperti metode read_csv() Pandas memungkinkan Anda bekerja dengan file secara efektif.