Łączenie dataframe

import pandas as pd

# Tworzenie dwóch prostych dataframe'ów
df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
df2 = pd.DataFrame({'col1': [5, 6], 'col2': [7, 8]})


print(df1)

      col1     col2
0	1	3
1	2	4

print(df2)

      col1	col2
0	5	7
1	6	8

# Łączenie dataframe'ów za pomocą concat()
df_concat = pd.concat([df1, df2])
print(df_concat)

   col1  col2
0     1     3
1     2     4
2     5     7
3     6     8

# Łączenie dataframe'ów za pomocą join()
df_join = df1.join(df2, lsuffix='_left', rsuffix='_right')
print(df_join)

   col1_left  col2_left  col1_right  col2_right
0          1          3           5           7
1          2          4           6           8

Metoda merge() pozwala na połączenie dwóch dataframe’ów za pomocą złączenia INNER JOIN, OUTER JOIN SQL. Możesz określić, które kolumny z obu dataframe’ów mają być użyte do połączenia oraz jaki rodzaj złączenia ma być użyty. Oto przykład użycia merge():

import pandas as pd

# Tworzenie dwóch prostych dataframe'ów
df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
df2 = pd.DataFrame({'col1': [1, 2], 'col2': [5, 6]})

print(df1)

	col1	col2
0	1	3
1	2	4

print(df2)


      col1	col2
0	1	5
1	2	6

# Łączenie dataframe'ów za pomocą merge() z inner join
df_inner = pd.merge(df1, df2, on='col1', how='inner')
print(df_inner)

   col1  col2_x  col2_y
0     1       3       5
1     2       4       6

# Łączenie dataframe'ów za pomocą merge() z outer join
df_outer = pd.merge(df1, df2, on='col1', how='outer')
print(df_outer)


   col1  col2_x  col2_y
0     1       3       5
1     2       4       6