Използвайки Pandas.DataFrame.Append
Функцията pandas.DataFrame.append() се използва за добавяне на редовете на друга DataFrame към съществуващата DataFrame. Ако колоните в съществуващия DataFrame не съществуват, другите колони на DataFrame се създават в съществуващия DataFrame. Използвайте тази функция по такъв начин, че редът да бъде вмъкнат в DataFrame чрез добавяне на речника.
Синтаксис :
Следното е действителният синтаксис на функцията pandas.DataFrame.append():
панди. DataFrame . добавям ( друго , ignore_index , проверка_интегритета , вид )
- друго : Това се отнася до друга DataFrame, в която редовете на тази DataFrame са добавени към съществуващата DataFrame. Ако искате да добавите един ред, трябва да подадете речник на стойностите като параметър.
- ignore_index (по подразбиране = False): Този параметър се използва, когато добавяте редове към DataFrame, който вече има редове. Ако е „False“, индексите на съществуващите редове също се добавят. Ако е „Истина“, редовете се обозначават от 0 до n-1. Уверете се, че този параметър е зададен на „True“, докато добавяте речник към DataFrame. В противен случай се появява тип грешка – „TypeError: Може да добави dict само ако ignore_index=True“.
- Можем да проверим за дублиращи се индекси с помощта на параметъра verify_integrity (по подразбиране = False). Ако индексите са дублирани и verify_integrity е зададен на „True“, той връща „ValueError: Индексите имат припокриващи се стойности“.
- Възможно е да сортирате колоните, ако колоните на съществуващата DataFrame и друга DataFrame не са подравнени с помощта на параметъра за сортиране, като го зададете на „True“ (по подразбиране = False).
Пример 1: Добавяне на единичен речник
Създайте Pandas DataFrame с четири колони – „Campaign_Name“, „Location“, „StartDate“ и „Budget“ – и три реда. Добавяне на речник към този DataFrame.
импортиране панди
# Създайте DataFrame - Кампания с 4 колони и 3 реда
Кампания = панди. DataFrame ( [ [ „Маркетингов лагер“ , 'Индия' , „12.01.2023 г.“ , 8000 ] ,
[ „Лагер за продажби“ , 'Италия' , „25.01.2022 г.“ , 10 000 ] ,
[ „Друг лагер“ , 'САЩ' , „17.04.2023 г.“ , 2000 г ] ] ,
колони = [ „Campaign_Name“ , „Местоположение“ , 'Начална дата' , „Бюджет“ ] )
печат ( Кампания , ' \н ' )
# Добавяне на един ред
Кампания = Кампания. добавям ( { „Campaign_Name“ : 'Технически лагер' , „Местоположение“ : 'САЩ' , 'Начална дата' : „05/12/2023“ , „Бюджет“ : 2000 г } , ignore_index = Вярно )
печат ( Кампания , ' \н ' )
Изход :
Можем да видим, че речникът е добавен към DataFrame „Campaign“. Индексът на този нов ред е 3, тъй като индексът се игнорира.
Пример 2: Добавяне на множество речници
Използвайте същата DataFrame, която е създадена в Пример 1, и добавете три реда наведнъж, като използвате функцията pandas.DataFrame.append(). Задайте параметъра ignore_index на „True“.
импортиране панди# Създайте DataFrame - Кампания с 4 колони и 3 реда
Кампания = панди. DataFrame ( [ [ „Маркетингов лагер“ , 'Индия' , „12.01.2023 г.“ , 8000 ] ,
[ „Лагер за продажби“ , 'Италия' , „25.01.2022 г.“ , 10 000 ] ,
[ „Друг лагер“ , 'САЩ' , „17.04.2023 г.“ , 2000 г ] ] ,
колони = [ „Campaign_Name“ , „Местоположение“ , 'Начална дата' , „Бюджет“ ] )
печат ( Кампания , ' \н ' )
Кампания = Кампания. добавям ( { „Campaign_Name“ : 'Технически лагер' , „Местоположение“ : 'САЩ' , 'Начална дата' : „05/12/2023“ , „Бюджет“ : 2000 г } , ignore_index = Вярно )
Кампания = Кампания. добавям ( { „Campaign_Name“ : „Маркетингов лагер“ , „Местоположение“ : 'Индия' , 'Начална дата' : „23.06.2023 г.“ , „Бюджет“ : 9000 } , ignore_index = Вярно )
Кампания = Кампания. добавям ( { „Campaign_Name“ : „Лагер MSales“ , „Местоположение“ : 'Италия' , 'Начална дата' : „24.01.2023 г.“ , „Бюджет“ : 1200 } , ignore_index = Вярно )
печат ( Кампания )
Изход :
Три реда се добавят един след друг с 3, 4 и 5 индекса към съществуващата DataFrame.
Използвайки Pandas.Concat
Функцията pandas.concat() свързва два или повече DataFrames по редовете или колоните. И така, трябва да трансформираме речника в DataFrame и да предадем два DataFrame на тази функция.
Синтаксис :
Добавяне на речник към съществуващия DataFrame:
панди. concat ( [ Existing_DataFrame , Transformed_Dictionary ] , ос = 0 , ignore_index , проверка_интегритета )- Ако axis = 0, конкатенацията се извършва по редовете. Конкатенацията се извършва по колоните, ако е зададено Приложени необходими главни букви, тъй като това е подзаглавие. Добавена е необходимата статия за краткост към 1.
- The ignore_index (по подразбиране = False): Този параметър се използва, когато добавяте редовете към DataFrame, който вече има редове. Ако е „False“, индексите на съществуващите редове също се добавят. Ако е „Истина“, редовете се обозначават от 0 до n-1.
- Можем да проверим за дублиращи се индекси с помощта на параметъра verify_integrity (по подразбиране = False). Ако индексите са дублирани и verify_integrity е зададен на „True“, той връща „ValueError: Индексите имат припокриващи се стойности“.
Пример 1: Добавяне на единичен речник
Създайте Pandas DataFrame с четири колони – „Campaign_Name“, „Location“, „StartDate“ и „Budget“ – и три реда. С помощта на функцията pandas.concat() добавете един речник (DataFrame) като ред към този DataFrame.
импортиране панди# Създайте DataFrame - Кампания с 4 колони и 3 реда
Кампания = панди. DataFrame ( [ [ „Маркетингов лагер“ , 'Индия' , „12.01.2023 г.“ , 8000 ] ,
[ „Лагер за продажби“ , 'Италия' , „25.01.2022 г.“ , 10 000 ] ,
[ „Друг лагер“ , 'САЩ' , „17.04.2023 г.“ , 2000 г ] ] ,
колони = [ „Campaign_Name“ , „Местоположение“ , 'Начална дата' , „Бюджет“ ] )
печат ( Кампания , ' \н ' )
речник_от_DataFrame = панди. DataFrame ( [ { „Campaign_Name“ : „Сервизен лагер“ , „Местоположение“ : 'САЩ' , 'Начална дата' : „17.04.2023 г.“ , „Бюджет“ : 1000 } ] )
# Добавяне на един ред
Кампания = панди. concat ( [ Кампания , речник_от_DataFrame ] , ос = 0 )
печат ( Кампания , ' \н ' )
Изход :
Можем да видим, че речникът е добавен към DataFrame „Campaign“. Индексът на този нов ред е 0, тъй като индексът не се игнорира.
Пример 2: Добавяне на множество речници
Използвайте предишния DataFrame и добавете три речника (DataFrame), като игнорирате индекса.
импортиране панди# Създайте DataFrame - Кампания с 4 колони и 3 реда
Кампания = панди. DataFrame ( [ [ „Маркетингов лагер“ , 'Индия' , „12.01.2023 г.“ , 8000 ] ,
[ „Лагер за продажби“ , 'Италия' , „25.01.2022 г.“ , 10 000 ] ,
[ „Друг лагер“ , 'САЩ' , „17.04.2023 г.“ , 2000 г ] ] ,
колони = [ „Campaign_Name“ , „Местоположение“ , 'Начална дата' , „Бюджет“ ] )
печат ( Кампания , ' \н ' )
речник_от_DataFrame = панди. DataFrame ( [ { „Campaign_Name“ : „Технически лагер“ , „Местоположение“ : 'САЩ' , 'Начална дата' : „17.05.2023 г.“ , „Бюджет“ : 1000 } ,
{ „Campaign_Name“ : 'Социални услуги' , „Местоположение“ : 'Япония' , 'Начална дата' : „17.04.2023 г.“ , „Бюджет“ : 200 } ,
{ „Campaign_Name“ : „Лагер за продажби“ , „Местоположение“ : 'САЩ' , 'Начална дата' : „18.04.2023 г.“ , „Бюджет“ : 500 } ] )
# Добавете няколко реда
Кампания = панди. concat ( [ Кампания , речник_от_DataFrame ] , ос = 0 , ignore_index = Вярно )
печат ( Кампания , ' \н ' )
Изход :
Можем да видим, че три речника са добавени към DataFrame „Campaign“. Индексите на тези речници са 3, 4 и 5, тъй като параметърът ignore_index е зададен на „False“.
Заключение
Единичните/многобройните речници се добавят към DataFrame с помощта на функциите pandas.DataFrame.append() и pandas.concat(). Индексите на новите редове могат да бъдат уникални чрез задаване на параметъра ignore_index на „True“ във функцията pandas.concat(). Докато използвате функцията pandas.DataFrame.append(), задайте параметъра ignore_index на „True“. В противен случай се повдига TypeError.