Cara menumpuk beberapa pandas dataframes


Seringkali Anda mungkin ingin menumpuk dua atau lebih panda DataFrames. Untungnya, hal ini mudah dilakukan dengan menggunakan fungsi pandas concat() .

Tutorial ini menunjukkan beberapa contoh bagaimana melakukan hal ini.

Contoh 1: Tumpuk dua Pandas DataFrames

Kode berikut menunjukkan cara “menumpuk” dua panda DataFrames di atas satu sama lain dan membuat DataFrame:

 import pandas as pd

#create two DataFrames
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                    'points':[12, 5, 13, 17, 27]})

df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
                    'points':[24, 26, 27, 27, 12]})

#"stack" the two DataFrames together
df3 = pd. concat ([df1,df2], ignore_index= True )

#view resulting DataFrame
df3

	player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7:27 a.m.
8 I 27
9 D 12

Contoh 2: Tumpuk tiga Pandas DataFrames

Kode serupa dapat digunakan untuk menumpuk tiga panda DataFrames di atas satu sama lain untuk membuat DataFrame:

 import pandas as pd

#create three DataFrames
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                    'points':[12, 5, 13, 17, 27]})

df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
                    'points':[24, 26, 27, 27, 12]})

df3 = pd.DataFrame({'player': ['K', 'L', 'M', 'N', 'O'],
                    'points':[9, 5, 5, 13, 17]})

#"stack" the two DataFrames together
df4 = pd. concat ([df1,df2, df3], ignore_index= True )

#view resulting DataFrame
df4

        player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
5 F 24
6 G 26
7:27 a.m.
8 I 27
9 D 12
10K 9
11 L 5
12 M 5
13 N 13
14 O 17

Pentingnya abaikan_index

Perhatikan bahwa dalam contoh sebelumnya kami menggunakan ignor_index=True .

Ini memberitahu panda untuk mengabaikan nomor indeks di setiap DataFrame dan membuat indeks baru mulai dari 0 hingga n-1 untuk DataFrame baru.

Misalnya, pertimbangkan apa yang terjadi jika kita tidak menggunakan abaikan_index=True saat menumpuk dua DataFrame berikut:

 import pandas as pd

#create two DataFrames with indices
df1 = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E'],
                    'points':[12, 5, 13, 17, 27]},
                    index=[0, 1, 2, 3, 4])

df2 = pd.DataFrame({'player': ['F', 'G', 'H', 'I', 'J'],
                    'points':[24, 26, 27, 27, 12]},
                    index=[2, 4, 5, 6, 9])

#stack the two DataFrames together
df3 = pd. concat ([df1,df2])

#view resulting DataFrame
df3

        player points
0 to 12
1 B 5
2 C 13
3 D 17
4 E 27
2 F 24
4G 26
5:27 a.m.
6 I 27
9 D 12

DataFrame yang dihasilkan mempertahankan nilai indeks aslinya dari kedua DataFrame.

Jadi biasanya Anda harus menggunakan ign_index=True saat menumpuk dua DataFrames kecuali Anda memiliki alasan khusus untuk mempertahankan nilai indeks asli.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di Pandas:

Bagaimana cara menambahkan kolom kosong ke Pandas DataFrame
Cara memasukkan kolom ke dalam Pandas DataFrame
Cara mengekspor Pandas DataFrame ke Excel

Tambahkan komentar

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