Birden fazla pandas dataframe'i nasıl istifleyebilirim?


Genellikle iki veya daha fazla panda DataFrames’i yığmak isteyebilirsiniz. Neyse ki pandas concat() işlevini kullanarak bunu yapmak kolaydır.

Bu eğitimde bunun nasıl yapılacağına dair birkaç örnek gösterilmektedir.

Örnek 1: İki Pandas DataFrame’i yığınlayın

Aşağıdaki kod, iki panda DataFrame’in üst üste nasıl “istifleneceğini” ve bir DataFrame oluşturulacağını gösterir:

 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

Örnek 2: Üç Pandas DataFrame’i yığınlayın

Benzer kod, bir DataFrame oluşturmak üzere üç panda DataFrame’i üst üste istiflemek için kullanılabilir:

 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

İgnore_index’in önemi

Önceki örneklerde göz ardı_index=True kullandığımızı unutmayın.

Bu, pandalara her DataFrame’deki dizin numaralarını göz ardı etmelerini ve yeni DataFrame için 0’dan n-1’e kadar yeni bir dizin oluşturmalarını söyler.

Örneğin, aşağıdaki iki DataFrame’i yığınlarken görmezden_index=True kullanmadığımızda ne olacağını düşünün:

 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

Ortaya çıkan DataFrame, her iki DataFrame’den de orijinal indeks değerlerini korudu.

Bu nedenle, orijinal dizin değerlerini korumak için özel bir nedeniniz olmadığı sürece, iki DataFrame’i istiflerken genellikle görmezden_index=True kullanmalısınız.

Ek kaynaklar

Aşağıdaki eğitimlerde Pandalar’da diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandas DataFrame’e boş bir sütun nasıl eklenir
Pandas DataFrame’e sütun nasıl eklenir
Pandas DataFrame’i Excel’e nasıl aktarırım

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir