Чтобы добавить новый столбец к существующему в DataFrame Pandas, назначьте новые значения столбца, проиндексированному с использованием нового имени столбца.
В этом руководстве мы узнаем, как добавить столбец в DataFrame с помощью примеров программ, которые будут очень подробными и иллюстративными.
Синтаксис
Синтаксис для добавления столбца в DataFrame:
mydataframe['new_column_name'] = column_values
Где, mydataframe – это DataFrame, в который вы хотите добавить новый столбец с меткой new_column_name. Вы можете указать все значения столбца в виде списка или одно значение, которое будет использоваться по умолчанию для всех строк.
Пример 1
В этом примере мы создадим DataFrame df_marks и добавим новый столбец с именем geometry.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#add column
df_marks['geometry'] = [81, 92, 67, 76]
print('\n\nDataFrame after adding "geometry" column\n--------------')
print(df_marks)
Вывод:
Original DataFrame -------------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 DataFrame after adding "geometry" column -------------- names physics chemistry algebra geometry 0 Somu 68 84 78 81 1 Kiku 74 56 88 92 2 Amol 77 73 82 67 3 Lini 78 69 87 76
Столбец добавляется к DataFrame с указанным списком в качестве значений столбца.
Длина списка, который вы предоставляете для нового столбца, должна равняться количеству строк в DataFrame. Если это условие не выполняется, вы получите сообщение об ошибке, подобное приведенному ниже.
ValueError: Length of values does not match length of index
Пример 2: со значением по умолчанию
В этом примере мы создадим df_marks и добавим новый столбец с именем geometry со значением по умолчанию для каждой строки в DataFrame.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#add column
df_marks['geometry'] = 65
print('\n\nDataFrame after adding "geometry" column\n--------------')
print(df_marks)
Вывод:
Original DataFrame -------------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 DataFrame after adding "geometry" column -------------- names physics chemistry algebra geometry 0 Somu 68 84 78 65 1 Kiku 74 56 88 65 2 Amol 77 73 82 65 3 Lini 78 69 87 65
Столбец добавляется в DataFrame с указанным значением в качестве значения столбца по умолчанию.
Как удалить столбец?
Функция Pandas DataFrame.pop() используется для удаления столбца из DataFrame.
В этом руководстве мы рассмотрим примеры, чтобы узнать, как использовать pop() для удаления столбца из Pandas DataFrame.
Пример 1
В этом примере мы удалили определенный столбец, используя его имя с помощью pop(). Функция pandas pop() обновляет исходный dataframe. Данные в удаленном столбце потеряны.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#delete column
df_marks.pop('algebra')
print('\n\nDataFrame after deleting column\n--------------')
print(df_marks)
Вывод:

Пример 2
В этом примере мы попытаемся удалить столбец, которого нет в DataFrame.
Когда вы пытаетесь удалить несуществующий столбец с помощью pop(), функция выдает ошибку KeyError.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#delete column that is not present
df_marks.pop('geometry')
print('\n\nDataFrame after deleting column\n--------------')
print(df_marks)
Вывод:

В этом руководстве на примерах Python мы узнали, как удалить столбец из DataFrame с помощью pop() с помощью хорошо подробных примеров программ.
Как удалить столбцы?
Чтобы удалить или удалить только один столбец из Pandas DataFrame, вы можете использовать ключевое слово del, функцию pop() или функцию drop() в кадре данных.
Чтобы удалить несколько столбцов из DataFrame Pandas, используйте функцию drop().
Пример 1: с помощью ключевого слова del
В этом примере мы создадим DataFrame, а затем удалим указанный столбец с помощью ключевого слова del. Столбец выбирается для удаления с помощью метки столбца.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#delete a column
del df_marks['chemistry']
print('\n\nDataFrame after deleting column\n--------------')
print(df_marks)
Вывод:
Original DataFrame -------------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 DataFrame after deleting column -------------- names physics algebra 0 Somu 68 78 1 Kiku 74 88 2 Amol 77 82 3 Lini 78 87
Мы удалили столбец химии из DataFrame.
Пример 2: с помощью функции pop()
В этом примере мы создадим DataFrame, а затем будем использовать функцию pop() для удаления определенного столбца.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#delete column
df_marks.pop('chemistry')
print('\n\nDataFrame after deleting column\n--------------')
print(df_marks)
Вывод:
Original DataFrame -------------- names physics chemistry algebra 0 Somu 68 84 78 1 Kiku 74 56 88 2 Amol 77 73 82 3 Lini 78 69 87 DataFrame after deleting column -------------- names physics algebra 0 Somu 68 78 1 Kiku 74 88 2 Amol 77 82 3 Lini 78 87
Мы удалили столбец химии из DataFrame.
Пример 3: с помощью функции drop()
В этом примере мы будем использовать функцию drop() для удаления определенного столбца. Мы используем метку столбца для удаления.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#delete column
df_marks = df_marks.drop(['chemistry'], axis=1)
print('\n\nDataFrame after deleting column\n--------------')
print(df_marks)
Вывод:

Пример 4: с помощью функции drop()
В этом примере мы будем использовать функцию drop() для удаления нескольких столбцов. Мы используем массив меток столбцов для выбора столбцов для удаления.
import pandas as pd
mydictionary = {'names': ['Somu', 'Kiku', 'Amol', 'Lini'],
'physics': [68, 74, 77, 78],
'chemistry': [84, 56, 73, 69],
'algebra': [78, 88, 82, 87]}
#create dataframe
df_marks = pd.DataFrame(mydictionary)
print('Original DataFrame\n--------------')
print(df_marks)
#delete columns
df_marks = df_marks.drop(['algebra', 'chemistry'], axis=1)
print('\n\nDataFrame after deleting column\n--------------')
print(df_marks)
Вывод:

Мы узнали, как удалить столбец из Pandas DataFrame, используя ключевое слово del, метод pop() и метод drop(), с помощью хорошо подробных примеров Python.