Pandas vs loc: apa bedanya?


Saat memilih baris dan kolom DataFrame panda, .loc dan .at adalah dua fungsi yang umum digunakan.

Inilah perbedaan halus antara kedua fungsi tersebut:

  • .loc dapat menggunakan beberapa baris dan kolom sebagai argumen masukan
  • .at hanya dapat menggunakan satu baris dan kolom sebagai argumen masukan

Contoh berikut menunjukkan cara menggunakan setiap fungsi dalam praktik dengan pandas DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Contoh 1: Cara menggunakan loc di Pandas

Kode berikut menunjukkan cara menggunakan .loc untuk mengakses nilai dalam DataFrame yang terletak di posisi indeks 0 kolom titik:

 #select value located at index position 0 of the points column
df. loc [0, ' points ']

18

Ini mengembalikan nilai 18 .

Dan kode berikut menunjukkan cara menggunakan .loc untuk mengakses baris antara nilai indeks 0 dan 4 serta kolom poin dan assist:

 #select rows between index values 0 and 4 and columns 'points' and 'assists'
df. loc [0:4, [' points ', ' assists ']]

        assist points
0 18 5
1 22 7
2 19 7
3 14 9
4 14 12

Baik kita ingin mengakses satu nilai atau sekelompok baris dan kolom, fungsi .loc dapat melakukan keduanya.

Contoh 2: Cara menggunakan at di Pandas

Kode berikut menunjukkan cara menggunakan .at untuk mengakses nilai dalam DataFrame yang terletak di posisi indeks 0 kolom titik:

 #select value located at index position 0 of the points column
df. at [0, ' points ']

18

Ini mengembalikan nilai 18 .

Namun, misalkan kita mencoba menggunakan at untuk mengakses baris antara nilai indeks 0 dan 4 serta kolom poin dan assist:

 #try to select rows between index values 0 and 4 and columns 'points' and 'assists'
df. at [0:4, [' points ', ' assists ']]

TypeError : unhashable type: 'list'

Kami menerima kesalahan karena fungsi at tidak dapat mengambil beberapa baris atau beberapa kolom sebagai argumen masukan.

Kesimpulan

Saat Anda ingin mengakses satu nilai di pandas DataFrame, fungsi loc dan at akan berfungsi dengan baik.

Namun, ketika Anda ingin mengakses sekelompok baris dan kolom, hanya fungsi loc yang mampu melakukannya.

Terkait: Pandas loc vs iloc: apa bedanya?

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara memilih baris berdasarkan beberapa kondisi menggunakan Pandas Loc
Cara memilih baris berdasarkan nilai kolom di Pandas
Cara memilih baris berdasarkan indeks di Pandas

Tambahkan komentar

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