Apa perbedaan antara Pandas dan NumPy + SciPy dalam Python? [Tutup]

Jawaban:

313

panda menyediakan alat manipulasi data tingkat tinggi yang dibangun di atas NumPy. NumPy dengan sendirinya adalah alat tingkat yang cukup rendah, mirip dengan MATLAB. panda di sisi lain menyediakan fungsionalitas deret waktu yang kaya, penyelarasan data, statistik ramah-NA, berkelompok, menggabungkan dan menggabungkan metode, dan banyak kemudahan lainnya. Ini telah menjadi sangat populer dalam beberapa tahun terakhir dalam aplikasi keuangan. Saya akan memiliki bab yang didedikasikan untuk analisis data keuangan menggunakan panda dalam buku saya yang akan datang.

Wes McKinney
sumber
216
Anda seharusnya menyebutkan bahwa Anda adalah penulis utama panda. :) Buku yang dipermasalahkan: shop.oreilly.com/product/0636920023784.do
Yktula
3
Apakah adil untuk mengatakan bahwa numpy terutama menyediakan array yang efisien, sedangkan panda menyediakan kamus yang efisien? (Dalam kedua kasus, terbatas pada tipe data yang konsisten daripada bentuk bebas.) Bagi saya (saya baru mulai melihatnya sekarang), ini mengejutkan saya sebagai perbedaan mendasar: penanganan data yang dipasangkan dengan label (dalam 1d alias dicts dan 2d alias tabel). Penyelarasan data, bergabung, dll semua menjadi mungkin karena hal ini, tetapi bagi orang yang tidak mengerti perbedaan mendasar itu bahkan tidak jelas apa artinya (mis., Apa "penyelarasan data" dari dua array numpy?).
Brandyn
6
mungkin menjadi pertanyaan konyol tetapi apa yang Anda maksud dengan NA-friendly statistics, disebutkan dalam jawaban Anda.
Adil Abbasi
6
Saya pikir, dia mengacu pada statistik dengan mempertimbangkan data yang hilang (NA, "Tidak Tersedia")
user1319128
4
Cold thread, tetapi bagaimana dengan perbedaan kinerja dengan operasi yang rumit di numpy, misalnya, tetapi disederhanakan secara sintaksis dalam panda? Apakah ada biaya kinerja untuk menempuh jalur sintaksis tingkat tinggi dan mudah?
3pitt
59

Numpy diperlukan oleh panda (dan oleh hampir semua alat numerik untuk Python). Scipy tidak sepenuhnya diperlukan untuk panda tetapi terdaftar sebagai "ketergantungan opsional". Saya tidak akan mengatakan bahwa panda adalah alternatif untuk Numpy dan / atau Scipy. Alih-alih, ini adalah alat tambahan yang menyediakan cara kerja yang lebih ramping dengan data numerik dan tabular dalam Python. Anda dapat menggunakan struktur data panda tetapi secara bebas menggunakan fungsi Numpy dan Scipy untuk memanipulasi mereka.

BrenBarn
sumber
4

Panda menawarkan cara yang bagus untuk memanipulasi tabel, karena Anda dapat membuat binning mudah ( binning dataframe dalam panda dengan Python ) dan menghitung statistik. Hal lain yang hebat dalam panda adalah kelas Panel yang Anda dapat bergabung dengan serangkaian lapisan dengan properti yang berbeda dan menggabungkannya menggunakan fungsi groupby.

iury simoes-sousa
sumber