Pandas: cara menyisipkan baris pada posisi indeks tertentu


Anda dapat menggunakan sintaks dasar berikut untuk menyisipkan baris ke posisi indeks tertentu di pandas DataFrame:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = value1, value2, value3, value4

#sort index
df = df. sort_index (). reset_index (drop= True )

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Sisipkan baris pada posisi indeks tertentu di Pandas

Misalkan kita memiliki panda 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

Kita dapat menggunakan sintaks berikut untuk menyisipkan garis antara posisi indeks 2 dan 3:

 #insert row in between index position 2 and 3
df. loc [ 2.5 ] = 'Z', 10, 5, 7

#sort index
df = df. sort_index (). reset_index (drop= True )

#view updated DataFrame
print (df)

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

Perhatikan bahwa sebuah garis telah disisipkan di antara posisi indeks sebelumnya 2 dan 3 dengan informasi berikut:

  • tim:Z
  • poin: 10
  • membantu: 5
  • rebound: 7

Dengan menggunakan fungsi sort_index() dan reset_index() , kami kemudian dapat menetapkan ulang nilai ke indeks mulai dari 0 hingga 8.

Perhatikan bahwa baris baru harus berisi jumlah nilai yang sama dengan jumlah kolom yang ada.

Misalnya, jika kami mencoba menyisipkan baris baru dengan hanya tiga nilai, kami akan menerima pesan kesalahan:

 #attempt to insert row with only three values
df. loc [ 2.5 ] = 10, 5, 7

ValueError : cannot set a row with mismatched columns

Kami menerima ValueError karena jumlah nilai di baris baru tidak sesuai dengan jumlah kolom yang ada di DataFrame.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara memasukkan kolom ke dalam Pandas DataFrame
Bagaimana cara menambahkan baris ke Pandas DataFrame
Cara menghapus baris di Pandas DataFrame berdasarkan kondisi

Tambahkan komentar

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