logo

Конкатенація панд

Pandas здатний поєднувати об’єкти Series, DataFrame і Panel за допомогою різних видів логіки набору для індексів і функціональності реляційної алгебри.

The concat() функція відповідає за виконання операції конкатенації вздовж осі в DataFrame.

Синтаксис:

 pd.concat(objs,axis=0,join='outer',join_axes=None, ignore_index=False) 

Параметри:

    objs:Це послідовність або відображення серій або об’єктів DataFrame.
    Якщо ми передаємо dict у DataFrame, тоді відсортовані ключі використовуватимуться як аргумент keys, і значення будуть вибрані в цьому випадку. Якщо присутні будь-які необ’єкти, їх буде видалено, якщо всі вони не є жодними, і в цьому випадку a ValueError буде підвищено.вісь:Це вісь, уздовж якої потрібно об’єднатися.приєднатися:Відповідає за обробку індексів на іншій осі.об'єднати осі:Список об'єктів індексу. Замість виконання логіки внутрішнього чи зовнішнього набору, для іншої (n-1) осі використовуються спеціальні індекси.ignore_index:bool, значення за умовчанням False
    Він не використовує значення індексу на осі конкатенації, якщо це правда. Отримана вісь буде позначена як 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