Apakah itu berarti kerangka data adalah sekumpulan baris?

 – Beragampengetahuan
5 mins read

Apakah itu berarti kerangka data adalah sekumpulan baris? – Beragampengetahuan

Oleh: Blog Bogumił Kamiński

Repost dari:

Dalam posting saya baru-baru ini, saya membahas antarmuka yang didefinisikan oleh Julia
bekerja dengan kontainer. Hari ini saya ingin melihat lebih dekat pada kerangka data
objek yang didefinisikan dalam DataFrames.jl.

Sebelum bergerak maju, saya ingin membuat pengumuman kecil. Di blog saya, saya punya
Bagian Pembelajaran yang baru ditambahkan tempat saya mengumpulkan daftar studi
materi yang menurut saya berguna melakukan ilmu data dengan Julia. jika kamu mau
ingin beberapa posisi ditambahkan ke daftar ini, silakan hubungi saya.

Posting ini ditulis di bawah Julia 1.9.0-beta4 dan DataFrames.jl 1.5.0.

Mari saya mulai dengan mengingat diskusi yang kami lakukan di posting ini tentang
desain bingkai data:

  1. Bingkai data tidak dapat diulang. Jika Anda ingin mengulangi barisnya saja
    menggunakan eachrow pembungkus dan jika Anda ingin mengulangi penggunaan kolomnya
    eachcol pembungkus.
  2. Anda dapat mengindeks kerangka data seperti matriks, tetapi Anda harus selalu melewatinya
    pengindeksan baris dan kolom (dengan kata lain: pengindeksan linier no
    Didukung).
  3. Dalam bingkai data siaran bertindak sebagai matriks (wadah dua dimensi).
  4. Anda bisa mendapatkan kolom bingkai data dengan namanya menggunakan akses atribut.

Karena alasan ini, pengguna sering kali terkejut saat membaca bingkai data tersebut
dianggap sebagai satu set baris. Dari cara mendukung
Antarmuka standar sepertinya tidak demikian.

Apa yang kita lewatkan dalam keseluruhan gambar adalah empat antarmuka di atas
hanya melibatkan sejumlah fungsi terbatas:

  1. Mengulang: iterate.
  2. Pengindeksan: getindex, setindex!, firstindex, lastindex, size.
  3. Penyiaran: axes, broadcastable, BroadcastStyle, similar,
    copy , copyto!.
  4. Akses properti: getproperty Dan setproperty!.

Secara keseluruhan, DataFrames.jl memperlihatkan lebih dari 120 fungsi yang beroperasi pada bingkai data
objek dan di antaranya 38 metode merupakan perluasan dari fungsi
didefinisikan dalam Base Julia dan mengerjakan koleksi. Semua fungsi ini
perlakukan kerangka data sebagai kumpulan baris.

Di bagian selanjutnya, saya akan membahas semuanya sehingga pengguna DataFrames.jl memilikinya
referensi yang mudah bagi mereka di satu tempat.

kami mendukung sort, sort!, sortperm, issorted, permute!, invpermute!,
reverse!, reverse, shuffle!Dan shuffle Fungsi yang bekerja pada data
baris bingkai.

Di sini saya ingin mencatat bahwa fungsi pengacakan tertentu seringkali cukup berguna
saat menyiapkan data untuk ditransfer ke model statistik yang berbeda.

kami mendukung deleteat!, keepat!, empty!, empty, filter!, filter,
first, lastDan resize!.

Mari saya sebutkan itu resize! tidak hanya memungkinkan menjatuhkan baris yang membentuk kerangka data
tetapi tambahkan juga (walaupun tidak terlalu sering digunakan).

Ada juga isempty fungsi untuk memeriksa apakah dataframe adalah nol
baris. Penting untuk diingat bahwa kerangka data tidak diperlukan
tidak ada kolom:

julia> using DataFrame

julia> df = DataFrame(a=1, b=2)
1×2 DataFrame
 Row │ a      b
     │ Int64  Int64
─────┼──────────────
   1 │     1      2

julia> isempty(df)
false

julia> empty!(df)
0×2 DataFrame
 Row │ a      b
     │ Int64  Int64
─────┴──────────────

julia> isempty(df)
true

Ingat bahwa jika dokumentasi DataFrames.jl mengatakan bahwa dataframe kosong
itu berarti tidak memiliki baris (tetapi tidak mengatakan apa-apa tentang kuantitas
kolom).

Anda dapat menambahkan baris tunggal ke kerangka data menggunakan push!, pushfirst!Dan
insert! atau kumpulan baris (umumnya tabel Tables.jl) menggunakan
append! Dan prepend!.

Fungsi yang relevan adalah repeat! Dan repeat untuk mengulang baris dalam kerangka data.

Ada empat fungsi yang memungkinkan Anda mengekstrak baris dari kerangka data
only, pop!, popat!Dan popfirst!.

Saya sering menemukan only fungsi yang berguna, ketika saya ingin memverifikasi secara eksplisit
kontrak bahwa beberapa operasi mengembalikan bingkai data hanya dengan satu baris.

Anda dapat gunakan completecases untuk menemukan baris yang tidak mengandung nilai yang hilang
Dan dropmissing! Dan dropmissing untuk menjatuhkan mereka.

Memiliki unique Dan unique! fungsi yang mengembalikan baris unik di a
kerangka data sumber. Untuk mendapatkan vektor indikator yang barisnya tidak unik, gunakan
itu nonunique fungsi dan allunique periksa apakah semua baris dalam kerangka data
adalah satu-satunya.

Di sini izinkan saya menunjukkan contoh nonunique fungsi yang memungkinkan Anda
pilih duplikat mana yang ditandai (ditambahkan dalam rilis 1.5):

julia> df = DataFrame(a=[1, 2, 1, 3, 1])
5×1 DataFrame
 Row │ a
     │ Int64
─────┼───────
   1 │     1
   2 │     2
   3 │     1
   4 │     3
   5 │     1

julia> nonunique(df) # by default first duplicate is kept
5-element Vector{Bool}:
 0
 0
 1
 0
 1

julia> nonunique(df, keep=:last) # keep last duplicate
5-element Vector{Bool}:
 1
 0
 1
 0
 0

julia> nonunique(df, keep=:noduplicates) # do not keep any duplicates
5-element Vector{Bool}:
 1
 0
 1
 0
 1

Itu keep nama argumen kata kunci digunakan karena biasanya false di belakang
vektor dimaksudkan untuk menunjukkan baris mana yang nantinya akan disimpan dalam kerangka data
(nama argumen kata kunci yang sama digunakan secara konsisten di unique Dan unique!).

Seperti yang Anda lihat di posting ini, ada banyak fungsi di dalamnya Base Itu Julia
dukungan bekerja dengan koleksi. Di DataFrames.jl, kami ingin agar pengguna dapat melakukannya
untuk menggunakan kembali fungsi ini saat bekerja dengan bingkai data. Jadi semuanya
didukung, dan mereka memperlakukan bingkai data sebagai kumpulan baris.

Terkadang berguna untuk memiliki koleksi yang dapat diubah dan diindeks,
baris dan kolom dari bingkai data, masing-masing. Untuk itu, kami menawarkan
eachrow Dan eachcol pembungkus menyediakan fungsi ini. Sebagai satu
konsekuensi, untuk kejelasan dan untuk meminimalkan risiko kesalahan pengguna,
Bingkai data yang tidak dibungkus tidak dapat diubah dan berperilaku seperti matriks bagian dalam
pengindeksan dan penyiaran.

Software Terbaru Saat Ini



Aplikasi yang sedang trend saat ini

object oriented programming, programming language, programming adalah, web programming, belajar programming, tournament software, software, software adalah, contoh software, apa itu software, pengertian software, aplikasi, aplikasi penghasil uang, aplikasi bokep, aplikasi video, programming

#Apakah #itu #berarti #kerangka #data #adalah #sekumpulan #baris

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *