Pandas: cara membagi dataframe berdasarkan nilai kolom


Anda dapat menggunakan sintaks dasar berikut untuk membagi pandas DataFrame berdasarkan nilai kolom:

 #define value to split on
x = 20

#define df1 as DataFrame where 'column_name' is >= 20
df1 = df[df[' column_name '] >= x]

#define df2 as DataFrame where 'column_name' is < 20
df2 = df[df[' column_name '] < x]

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Pisahkan Pandas DataFrame berdasarkan Nilai Kolom

Misalkan kita memiliki panda DataFrame berikut:

 import pandas as pd

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

#view DataFrame
print (df)

        team points rebounds
0 to 22 11
1 B 24 8
2 C 19 10
3 D 18 6
4 E 14 6
5 F 29 5
6 G 31 9
7:16:12

Kita dapat menggunakan kode berikut untuk membagi DataFrame menjadi dua DataFrame yang mana yang pertama berisi baris yang “titiknya” lebih besar atau sama dengan 20 dan yang kedua berisi baris yang “titiknya” kurang dari 20:

 #define value to split on
x = 20

#define df1 as DataFrame where 'points' is >= 20
df1 = df[df[' points '] >= x]

print (df1)

  team points rebounds
0 to 22 11
1 B 24 8
5 F 29 5
6 G 31 9

#define df2 as DataFrame where 'points' is < 20
df2 = df[df[' points '] < x]

print (df2)

  team points rebounds
2 C 19 10
3 D 18 6
4 E 14 6
7:16:12

Perhatikan bahwa kita juga dapat menggunakan fungsi reset_index() untuk mengatur ulang nilai indeks untuk setiap DataFrame yang dihasilkan:

 #define value to split on
x = 20

#define df1 as DataFrame where 'points' is >= 20
df1 = df[df[' points '] >= x]. reset_index (drop= True )

print (df1)

  team points rebounds
0 to 22 11
1 B 24 8
2 F 29 5
3 G 31 9

#define df2 as DataFrame where 'points' is < 20
df2 = df[df[' points '] < x]. reset_index (drop= True )

print (df2)

  team points rebounds
0 C 19 10
1 D 18 6
2 E 14 6
3:16:12

Perhatikan bahwa indeks setiap DataFrame yang dihasilkan sekarang dimulai dari 0.

Sumber daya tambahan

Tutorial berikut menjelaskan cara memperbaiki kesalahan umum lainnya dengan Python:

Cara Memperbaiki KeyError di Pandas
Cara Memperbaiki: ValueError: Tidak dapat mengubah float NaN menjadi int
Cara Memperbaiki: ValueError: Operan tidak dapat disiarkan dengan bentuk

Tambahkan komentar

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