Рубрики
Без рубрики

Pandas DataFrame добавить функцию ()

Функция PandaS DataFrame Append () используется для объединения строк из другого объекта DataFrame. Эта функция возвращает новый объект DataFrame и не меняется

Автор оригинала: Pankaj Kumar.

Функция PandaS DataFrame Append () используется для объединения строк из другого объекта DataFrame. Эта функция возвращает новый объект DataFrame и не изменяет объекты источника. Если в столбцах есть несоответствие, новые столбцы добавляются в результате dataframe.

1. Параметры PandaS DataFrame Partend ()

Функциональный синтаксис Append ():

append(other, ignore_index=False, verify_integrity=False, sort=None)
  • Другое : The DataFrame, Series или Dict – подобный объекту, строки которого будут добавлены в Caller DataFrame.
  • Ignore_index Если это правда, индексы из объектов источника DataFrame игнорируются.
  • Verify_Interity : Если правда, поднять ValueError на создание индекса с дубликатами.
  • Сортировать : сортировка столбцов Если столбцы источника DataFrame не выровнены. Эта функциональность устарела. Так что мы должны пройти Сортировать = правда Сортировать и молчать предупреждающее сообщение. Если Сортировать = false Прошло, столбцы не отсортированы, и предупреждение игнорируется.

Давайте посмотрим на некоторые примеры функции DataFrame Papend ().

2. Добавление двух данных DataFrames

import pandas as pd

df1 = pd.DataFrame({'Name': ['Pankaj', 'Lisa'], 'ID': [1, 2]})
df2 = pd.DataFrame({'Name': ['David'], 'ID': [3]})

print(df1)
print(df2)

df3 = df1.append(df2)
print('\nResult DataFrame:\n', df3)

Выход:

     Name  ID
0  Pankaj   1
1    Lisa   2
    Name  ID
0  David   3

Result DataFrame:
      Name  ID
0  Pankaj   1
1    Lisa   2
0   David   3

3. Присоединение и игнорирование индексов DataFrame

Если вы посмотрите на предыдущий пример, выход содержит дубликаты индексов. Мы можем пройти lightore_index = true Чтобы игнорировать индексы источника и назначить новый индекс к выходному DataFrame.

df3 = df1.append(df2, ignore_index=True)
print(df3)

Выход:

     Name  ID
0  Pankaj   1
1    Lisa   2
2   David   3

4. Поднимите ValueError для дублирующих индексов

Мы можем пройти Verify_Interite = True Чтобы поднять ValucteRor, если есть дубликаты индексов в двух объектах DataFrame.

import pandas as pd

df1 = pd.DataFrame({'Name': ['Pankaj', 'Lisa'], 'ID': [1, 2]})
df2 = pd.DataFrame({'Name': ['David'], 'ID': [3]})

df3 = df1.append(df2, verify_integrity=True)

Выход:

ValueError: Indexes have overlapping values: Int64Index([0], dtype='int64')

Давайте посмотрим на другой пример, где у нас нет дублирующих индексов.

import pandas as pd

df1 = pd.DataFrame({'Name': ['Pankaj', 'Lisa'], 'ID': [1, 2]}, index=[100, 200])

df2 = pd.DataFrame({'Name': ['David'], 'ID': [3]}, index=[300])

df3 = df1.append(df2, verify_integrity=True)

print(df3)

Выход:

       Name  ID
100  Pankaj   1
200    Lisa   2
300   David   3

5. Присоединение объектов DataFrame с не совпадающими столбцами

import pandas as pd

df1 = pd.DataFrame({'Name': ['Pankaj', 'Lisa'], 'ID': [1, 2]})
df2 = pd.DataFrame({'Name': ['Pankaj', 'David'], 'ID': [1, 3], 'Role': ['CEO', 'Author']})

df3 = df1.append(df2, sort=False)

print(df3)

Выход:

     Name  ID    Role
0  Pankaj   1     NaN
1    Lisa   2     NaN
0  Pankaj   1     CEO
1   David   3  Author

Мы явно проезжаем Сортировать = false Чтобы избежать сортировки колонн и игнорировать будущее. Если вы не передадите этот параметр, выход будет содержать следующее предупреждающее сообщение.

FutureWarning: Sorting because the non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.

To accept the future behavior, pass 'sort=False'.

To retain the current behavior and silence the warning, pass 'sort=True'.

Посмотрим, что произойдет, когда мы пройдем Сортировать = правда Отказ

import pandas as pd

df1 = pd.DataFrame({'Name': ['Pankaj', 'Lisa'], 'ID': [1, 2]})
df2 = pd.DataFrame({'Name': ['Pankaj', 'David'], 'ID': [1, 3], 'Role': ['CEO', 'Author']})

df3 = df1.append(df2, sort=True)

print(df3)

Выход:

   ID    Name    Role
0   1  Pankaj     NaN
1   2    Lisa     NaN
0   1  Pankaj     CEO
1   3   David  Author

Обратите внимание, что столбцы сортируются в результате объекта DataFrame. Обратите внимание, что эта функция устарела и будет удалена из будущих выпусков.

Давайте посмотрим на другой пример, где у нас нет совпадающих столбцов с значениями int.

import pandas as pd

df1 = pd.DataFrame({'ID': [1, 2]})
df2 = pd.DataFrame({'Name': ['Pankaj', 'Lisa']})

df3 = df1.append(df2, sort=False)
print(df3)

Выход:

    ID    Name
0  1.0     NaN
1  2.0     NaN
0  NaN  Pankaj
1  NaN    Lisa

Обратите внимание, что значения идентификатора изменены на номера с плавающей точкой, чтобы разрешить значение NAN.

6. Ссылки