В Python в основном есть несколько методов, которые обычно используются и которые важно понимать при обновлении значений столбцов в Python Pandas.
- С помощью at()
- С помощью replace()
- С помощью iloc()
- С помощью loc()
- Как обновить регистр имен столбцов
- С помощью rename()
- С помощью update()
- С помощью update()
С помощью at()
В этом разделе будем работать с функцией replace().
Сначала мы создадим фрейм данных с помощью функции pd.dataframe(), а данные будут храниться в фрейме данных в виде строк и столбцов. В результате она квалифицируется как матрица и полезна для анализа данных.
Пример:
import pandas as pd new_val = {"Country_name": ['USA','Germany','Australia','China'],"Zip_Code": [1456,8723,9562,8652]} df = pd.DataFrame(new_val, index=[1,2,3,4]) print(df)
Код:
Теперь, после создания кадра данных, мы обновим значение столбца с помощью функции at().
- На основе индекса строки и имени столбца метод at() в pandas используется для извлечения одного значения из кадра данных.
- С помощью метода Python at() мы можем изменять значение строки столбца по одному.
Синтаксис метода dataframe.at() в Python.
Dataframe.at[rowIndex, columnLabel]
Примечание. – Этот параметр принимает два параметра: индекс строки и метку столбца. Если аргументы, заданные в виде индекса строки и меток столбца, выходят за пределы или отсутствуют в кадре данных, возникает ключевая ошибка.
В этом примере мы использовали функцию at() с индексом 4 фрейма данных и столбцом «Country_name». Таким образом, значение столбца Country_name в индексе строки 4 изменяется.
Исходный код:
import pandas as pd new_val = {"Country_name": ['USA','Germany','Australia','China'],"Zip_Code": [1456,8723,9562,8652]} df = pd.DataFrame(new_val, index=[1,2,3,4]) df.at[4,'Country_name']='Albania' print(df)
Вот реализация следующего кода.
С помощью replace()
Теперь давайте разберемся, как обновить значения столбцов в Python Pandas с помощью replace().
Любая строка внутри фрейма данных может быть обновлена или изменена с помощью функции replace() в Python. Ему не обязательно передавать значения индекса и метки.
Значения столбцов можно изменить с помощью функции DataFrame.replace() — одно значение на другое во всех столбцах. Эта функция возвращает новый DataFrame, который принимает параметры для замены, значение, место, ограничение, регулярное выражение и метод. Когда используется параметр inplace=True, он заменяет существующий объект DataFrame и возвращает результат None.
Синтаксис:
DataFrame.replace(to_replace=None, value=None, inplace=False, limit=None, regex=False, method='pad')
Он состоит из нескольких параметров:
- to_replace: создайте строку, список, словарь, регулярное выражение, целое число, число с плавающей запятой или другой тип данных и укажите значения, которые необходимо заменить.
- value: по умолчанию оно не принимает значения и указывает значение, которое мы хотим заменить.
- inplace: следует ли работать на месте. По умолчанию он принимает ложное значение.
- limit: максимальный пробел, который необходимо заполнить при движении вперед или назад.
- regex: если заменить и/или значение, следует рассматривать как регулярное выражение.
- method: по умолчанию он принимает значение «pad» и используется для замены.
Давайте возьмем пример и проверим, как обновить значения столбцов в Python Pandas с помощью replace().
Исходный код:
import pandas as pd new_val = {"Country_name": ['USA','Germany','Australia','China'],"Zip_Code": [1456,8723,9562,8652]} df = pd.DataFrame(new_val, index=[1,2,3,4]) df.replace("Australia", "Argentina", inplace=True) print(df)
Вы можете обратиться к приведенному ниже снимку экрана:
С помощью iloc()
В этом разделе мы обсудим, как обновить значения столбцов в Python Pandas с помощью функции iloc().
Предоставляя значения индекса соответствующей строки/столбца, можно обновить или изменить значение строки/столбца с помощью метода iloc() Python.
Пример:
import pandas as pd new_val = {"Country_name": ['USA','Germany','Australia','China'],"Zip_Code": [1456,8723,9562,8652]} df = pd.DataFrame(new_val, index=[1,2,3,4]) df.iloc[[1,3],[1]] = 100 print(df)
- В этом случае мы изменили значение строк 1, 3 и первого столбца «Число» на 100.
- Используя функцию iloc(), мы можем даже разрезать строки, предоставленные функции, чтобы изменить значения многих строк одновременно.
Вот скриншот следующего кода.
С помощью loc()
В этом разделе мы обсудим, как обновить значения столбцов в Python Pandas с помощью функции loc().
Строки и столбцы DataFrame pandas выбираются с помощью loc. Простота использования DataFrame — одно из его ключевых преимуществ. Чтобы выбрать или отфильтровать строки или столбцы , используйте атрибут loc[].
Предоставляя метки столбцов и индексы строк, метод loc() в Python также можно использовать для изменения значения строки в ее столбцах.
Синтаксис:
dataframe.loc[row index,['column-names']] = value
Давайте возьмем пример и проверим, как обновить значения столбцов в Python Pandas с помощью функции loc().
Исходный код:
import pandas as pd new_val = {"Country_name": ['USA','Germany','Australia','China'],"Zip_Code": [1456,8723,9562,8652]} df = pd.DataFrame(new_val, index=[1,2,3,4]) df.loc[0:2,['index','Country_name']] = [100,'Angola'] print(df)
Вот реализация следующего кода.
Как обновить регистр имен столбцов
Теперь давайте разберемся, как обновить регистр имен столбцов в Python Pandas.
Как видите, все имена столбцов в наших данных начинаются с заглавной буквы. Всегда предпочтительнее использовать стандартный регистр для всех имен столбцов.
Давайте возьмем пример и проверим, как обновить регистр имен столбцов в Python Pandas.
Исходный код:
import pandas as pd new_val = {"Country_name": ['USA','Germany','Australia','China'],"Zip_Code": [1456,8723,9562,8652]} df = pd.DataFrame(new_val, index=[1,2,3,4]) df.columns = df.columns.str.lower() print(df)
Вы можете обратиться к скриншоту ниже.
С помощью rename()
Теперь давайте разберемся, как обновить значения столбцов в Python Pandas с помощью функции rename().
Использование функции rename() — это один из способов переименования столбцов в кадре данных Pandas. Когда нам нужно переименовать несколько конкретных столбцов, этот подход работает хорошо, поскольку нам просто нужно предоставить информацию для столбцов, которые необходимо изменить.
Давайте посмотрим на синтаксис и поймем работу функции df.rename() в Python.
DataFrame.rename(mapper=None, *, index=None, columns=None, axis=None, copy=None, inplace=False, level=None, errors='ignore')
Пример:
Здесь мы возьмем пример и проверим, как обновить значения столбцов в Python Pandas с помощью функции rename().
Исходный код:
import pandas as pd new_val = {"Country_name": ['USA','Germany','Australia','China'],"Zip_Code": [1456,8723,9562,8652]} df = pd.DataFrame(new_val, index=[1,2,3,4]) result=df.rename(columns={'Country_name': 'Country'}) print(result)
Вот выполнение следующего кода.
С помощью update()
В этом разделе мы обсудим, как обновить Dataframe с использованием данных различной длины с помощью функции update().
Давайте рассмотрим ситуацию, когда мне нужно обновить фрейм данных, добавив больше записей, чем исходный фрейм данных. Если я использую функцию update(), записи будут обновляться до тех пор, пока их длина не будет соответствовать размеру исходного кадра данных.
Давайте возьмем пример и проверим, как обновить Dataframe с данными разной длины с помощью функции update().
Исходный код:
import pandas as pd new_data = pd.DataFrame({ 'Cities_of_U.S.A': ['NewYork', 'California', 'Phenix City'], 'new_val': [56, 18, 21] }) print("Original Dataframe: \n", new_data) result = pd.DataFrame({'new_val': [4, 5, 6]}) new_data.update(result) print("Changed Dataframe:\n", new_data)
Вот реализация следующего кода.
С помощью update()
В этом разделе мы обсудим, как обновить Dataframe в определенном месте с помощью update().
В этом примере я изменю значения указанного местоположения. Сначала мы должны создать фрейм данных, используя аргумент индекса, а затем использовать для него метод обновления.
Давайте возьмем пример и проверим, как обновить Dataframe в определенном месте с помощью функции update().
Исходный код:
import pandas as pd new_data = pd.DataFrame({ 'Cities_of_U.S.A': ['NewYork', 'California', 'Phenix City'], 'new_val': [56, 18, 21] }) print("Original Dataframe: \n", new_data) new_result = pd.DataFrame({'new_val': [1, 2]}, index=[0, 2]) new_data.update(new_result) print("Modified Dataframe :\n", new_data)
Вот выполнение следующего данного кода: