Давайте разберемся, как обновлять строки и столбцы в Python pandas.
В реальном мире чаще всего мы получаем неготовые к анализу наборы данных. В них может быть много несоответствий, недопустимых значений, неправильных меток и многого другого. Учитывая это, необходимо обновить эти значения, чтобы добиться единообразия данных. В этом руководстве мы рассмотрим, как обновлять строки и столбцы в python с помощью pandas. Не теряя времени на вступление, давайте перейдем к действию!
1. Создайте Pandas Dataframe
Во всем этом уроке мы будем использовать фрейм данных, который создадим сейчас. На примере работы с ним вы получите представление об операциях обновления. После этого вы сможете применить эти методы к своим данным.
Для создания датафрейма pandas предлагает функцию pd.DataFrame. Давайте посмотрим, как она работает.
#create a dictionary import pandas as pd fruit_data = {"Fruit": ['Apple','Avacado','Banana','Strawberry','Grape'],"Color": ['Red','Green','Yellow','Pink','Green'], "Price": [45, 90, 60, 37, 49] } fruit_data
Здесь мы создали словарь python с некоторыми значениями данных в нем. Теперь нам нужно превратить этот словарь в pandas dataframe.
#Dataframe data = pd.DataFrame(fruit_data) data
Используя функцию pd.DataFrame от pandas, вы можете легко превратить словарь в pandas dataframe. Теперь наш набор данных готов к выполнению дальнейших операций.
2. Обновление столбцов
Иногда имена колонок или значения не совпадают по регистру или другому признаку. Единый дизайн поможет нам эффективнее работать с данными.
Итак, в качестве первого шага мы рассмотрим, как можно обновить/изменить названия столбцов в наших данных.
#update the column name data.rename(columns = {'Fruit':'Fruit Name'})
Все просто, как показано выше. Вы даже можете обновить несколько имен столбцов одновременно. Для этого нужно добавить другие имена столбцов, разделенные запятой, под фигурными скобками.
#multile column update data.rename(columns = {'Fruit':'Fruit Name','Colour':'Color','Price':'Cost'})
Таким образом, вы можете обновить все колонки одновременно.
3. Обновление регистра имен столбцов
При работе с набором данных с большим количеством столбцов вы могли столкнуться с несогласованностью в их именах.
Вы можете заметить, что в наших данных все названия столбцов начинаются с буквы в верхнем регистре. Всегда рекомендуется задавать одинаковый регистр для всех имен столбцов.
Вы можете преобразовать их в верхний или нижний регистр.
#lower case data.columns.str.lower() data
Теперь все наши столбцы находятся в нижнем регистре.
4. Обновление значений строк
Как и обновление столбцов, обновление значения строки также очень просто. Сначала нужно найти значение строки, а затем обновить его.
Для поиска строк можно использовать функцию pandas loc.
#updating rows data.loc[3]
Fruit Strawberry Color Pink Price 37 Name: 3, dtype: object
Мы нашли строку номер 3, в которой содержится информация о фрукте “Клубника”. Теперь мы должны обновить этот ряд новым фруктом по имени Ананас и его данными.
Поехали!
#update data.loc[3] = ['PineApple','Yellow','48'] data
Вот и все. Надеюсь, вы тоже находите этот способ достаточно простым. Теперь предположим, что вам нужно обновить только несколько элементов в ряду, а не весь ряд. Каков подход к этому?
#update specific values data.loc[3, ['Price']]
Price 48 Name: 3, dtype: object
Нам нужно обновить только цену фрукта, расположенного в 3-м ряду. Мы узнаем, что текущая цена этого фрукта равна 48, но нам нужно изменить ее на 65. Давайте сделаем это.
#updating data.loc[3, ['Price']] = [65] data
Мы обновили цену фрукта Pineapple до 65 всего одной строкой кода python. Вот как просто это работает.
5. Обновление строк и столбцов на основе условия
Теперь мы собираемся обновлять значения строк на основе определенных условий. Мы хотим получить некоторые значения, которые будут полезны для анализа.
Давайте определим наше условие.
#Condition updated = data['Price'] > 60 updated
Мы собираемся сделать следующее: обозначить фрукты, которые стоят выше 60, как “Дорогие”.
0 False 1 True 2 False 3 True 4 False Name: Price, dtype: bool
Исходя из вывода, у нас есть 2 фрукта, цена которых превышает 60. Давайте обозначим эти фрукты как дорогие в данных.
#Updating data.loc[updated, 'Price'] = 'Expensive' data
Поверьте, вы великолепны :).
Во всей этой статье мы не использовали более 2 строк кода за раз. Лучший совет, который я могу дать – это попытаться изучить pandas как можно лучше. Это надежная библиотека, предлагающая множество функций, которые являются однострочными, но способны выполнить работу на отлично.
В завершение
Обновление строк и столбцов в данных – одна из основных вещей, на которой мы должны сосредоточиться перед любым анализом. С помощью простых функций мы можем сделать данные гораздо более ценными, а в ходе процесса определенно получим некоторое представление об их качестве и дальнейших задачах. Если вы получите правильные данные, поверьте мне, вы сможете достичь больших высот.
Я надеюсь, что это руководство в той или иной мере было вам полезно, не забудьте применить эти методы в своей аналитической работе.
На этом пока все. Счастливого Python!!!
Перевод статьи «How to Update Rows and Columns Using Python Pandas».