Pandas е в състояние да комбинира обекти Series, DataFrame и Panel чрез различни видове набор логика за индексите и функционалността на релационната алгебра.
The concat() функция е отговорна за извършване на операция за конкатенация по ос в DataFrame.
Синтаксис:
pd.concat(objs,axis=0,join='outer',join_axes=None, ignore_index=False)
Параметри:
Ако подадем dict в DataFrame, тогава сортираните ключове ще бъдат използвани като keys аргумент и стойностите ще бъдат избрани в този случай. Ако има някакви не-обекти, тогава те ще бъдат премахнати, освен ако всички те не са никакви и в този случай, ValueError ще бъдат повдигнати.
Той не използва стойностите на индекса на оста на конкатенация, ако е вярно. Получената ос ще бъде означена като 0, ..., n - 1.
Се завръща
Серия се връща, когато свържем всички серии по оста (ос=0). В случай, че ако objs съдържа поне една DataFrame, той връща DataFrame.
Пример1:
import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data])
Изход
0 p 1 q 0 r 1 s dtype: object
Пример2: В горния пример можем да нулираме съществуващия индекс, като използваме ignore_index параметър. Кодът по-долу демонстрира работата на ignore_index .
import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], ignore_index=True)
Изход
0 p 1 q 2 r 3 s dtype: object
Пример 3: Можем да добавим йерархичен индекс на най-външното ниво на данните, като използваме ключове параметър.
import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], keys=['a_data', 'b_data'])
Изход
a_data 0 p 1 q b_data 0 r 1 s dtype: object
Пример 4: Можем да етикетираме индексните ключове, като използваме имена параметър. Кодът по-долу показва работата на параметъра имена.
import pandas as pd a_data = pd.Series(['p', 'q']) b_data = pd.Series(['r', 's']) pd.concat([a_data, b_data], keys=['a_data', 'b_data']) pd.concat([a_data, b_data], keys=['a_data', 'b_data'], names=['Series name', 'Row ID'])
Изход
Series name Row ID a_data 0 p 1 q b_data 0 r 1 s dtype: object
Конкатенация с помощта на append
Методът append се дефинира като полезен пряк път за свързване на Series и DataFrame.
Пример:
import pandas as pd one = pd.DataFrame({ 'Name': ['Parker', 'Smith', 'Allen', 'John', 'Parker'], 'subject_id':['sub1','sub2','sub4','sub6','sub5'], 'Marks_scored':[98,90,87,69,78]}, index=[1,2,3,4,5]) two = pd.DataFrame({ 'Name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'subject_id':['sub2','sub4','sub3','sub6','sub5'], 'Marks_scored':[89,80,79,97,88]}, index=[1,2,3,4,5]) print (one.append(two))
Изход
Name subject_id Marks_scored 1 Parker sub1 98 2 Smith sub2 90 3 Allen sub4 87 4 John sub6 69 5 Parker sub5 78 1 Billy sub2 89 2 Brian sub4 80 3 Bran sub3 79 4 Bryce sub6 97 5 Betty sub5 88