Jak dodać dwie ramki danych pandas (z przykładem)


Możesz użyć następującej podstawowej składni, aby dodać wartości do dwóch ramek danych pand:

 df3 = df1. add (df2, fill_value= 0 )

Spowoduje to utworzenie nowej ramki danych zawierającej sumę pasujących elementów w każdej pojedynczej ramce danych.

Jeśli element istnieje w jednej ramce danych, a nie w drugiej, istniejący element zostanie użyty w wynikowej ramce danych.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Jak dodać dwie ramki danych Pandy

Załóżmy, że mamy następujące dwie ramki danych pandy:

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' points ': [18, 22, 19, 14, 11],
                    ' assists ': [5, 11, 7, 9, 12]})

#view first DataFrame
print (df1)

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

#create second DataFrame
df2 = pd. DataFrame ({' points ': [10, 5, 4, 3, 9, 14],
                    ' assists ': [9, 7, 4, 2, 3, 3]})

#view second DataFrame
print (df2)

   assist points
0 10 9
1 5 7
2 4 4
3 3 2
4 9 3
5 14 3

Możemy użyć następującej składni, aby utworzyć nową ramkę DataFrame, która pobiera sumę pasujących elementów w każdej pojedynczej ramce DataFrame:

 #create new DataFrame by adding two DataFrames
df3 = df1. add (df2, fill_value= 0 )

#view new DataFrame
print (df3)

   assist points
0 28.0 14.0
1 27.0 18.0
2 23.0 11.0
3 17.0 11.0
4 20.0 15.0
5 14.0 3.0

Należy zauważyć, że wynikowa ramka DataFrame zawiera sumę pasujących elementów w każdej pojedynczej ramce DataFrame.

Należy pamiętać, że wiersz o wartości indeksu 5 istniał tylko w drugiej ramce DataFrame, więc wartości w tym wierszu są po prostu wartościami w drugiej ramce DataFrame.

Należy również pamiętać, że ponieważ dokonaliśmy dodawania, każda z wartości w nowej ramce DataFrame jest reprezentowana jako wartość zmiennoprzecinkowa z jednym miejscem po przecinku.

Aby każdą z tych wartości przekonwertować z powrotem na liczbę całkowitą, możemy skorzystać z funkcji astype() :

 #convert all columns in new DataFrame to integer
df3 = df3. astype (' int64 ')

#view updated DataFrame
print (df3)

   assist points
0 28 14
1 27 18
2 23 11
3 17 11
4 20 15
5 14 3

Każda z wartości w nowej DataFrame jest teraz liczbą całkowitą.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania związane z pandą:

Pandy: dodaj kolumnę z jednej ramki DataFrame do drugiej
Pandy: Uzyskaj wiersze, których nie ma w innej ramce DataFrame
Pandy: jak sprawdzić, czy wiele kolumn jest równych

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *