Чтобы объединить фреймы данных в Python, вы можете использовать различные методы в зависимости от ваших конкретных требований. Вот несколько часто используемых методов с примерами кода:
-
pd.concat(): эта функция объединяет кадры данных по определенной оси (строкам или столбцам).
import pandas as pd df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]}) merged_df = pd.concat([df1, df2], axis=0) # Concatenating along rows -
df.append(): этот метод добавляет один кадр данных к другому по вертикали.
import pandas as pd df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}) df2 = pd.DataFrame({'A': [7, 8, 9], 'B': [10, 11, 12]}) merged_df = df1.append(df2) # Appending df2 to df1 -
df.merge(): этот метод объединяет кадры данных на основе общих столбцов или индексов.
import pandas as pd df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'Key': ['K1', 'K2', 'K3']}) df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12], 'Key': ['K1', 'K2', 'K4']}) merged_df = df1.merge(df2, on='Key') # Merging based on 'Key' column -
df.join(): этот метод объединяет два кадра данных на основе их индексов.
import pandas as pd df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=[10, 20, 30]) df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]}, index=[10, 20, 40]) merged_df = df1.join(df2, lsuffix='_left', rsuffix='_right') # Joining based on indices -
df.merge() с различными типами соединений: вы можете указать различные типы соединений, например внутреннее, внешнее, левое или правое.
import pandas as pd df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'Key': ['K1', 'K2', 'K3']}) df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12], 'Key': ['K1', 'K2', 'K4']}) # Inner join inner_join = df1.merge(df2, on='Key', how='inner') # Outer join outer_join = df1.merge(df2, on='Key', how='outer') # Left join left_join = df1.merge(df2, on='Key', how='left') # Right join right_join = df1.merge(df2, on='Key', how='right')