В света на анализа на данни използването на електронни таблици е обичайно, особено когато се работи със структурирани данни в колонен формат. Една от популярните библиотеки за работа с данни от електронни таблици в Python е Pandas. Тази мощна библиотека позволява на разработчиците да четат, манипулират и експортират таблични данни с лекота. В тази статия ще се съсредоточим върху конкретен проблем: актуализиране на клетки в лист по име на колона с помощта на Pandas. Ще се потопим в решението, последвано от стъпка по стъпка обяснение на кода и накрая ще обсъдим свързани концепции и функционалност в Pandas, като работа с индекси и избор на данни. И така, да започваме.
Актуализиране на клетки по име на колона с помощта на Pandas
За да актуализираме клетките в лист по име на колона, първо трябва да инсталираме библиотеката Pandas, ако вече не е инсталирана, като използваме следната команда:
!pip install pandas
С инсталиран Pandas, нека очертаем стъпките за актуализиране на клетки в лист по име на колона:
1. Заредете листа в обект DataFrame.
2. Достъп до клетките, които искаме да актуализираме.
3. Променете желаните клетки, като присвоите нови стойности.
4. Запазете обекта DataFrame обратно в листа.
Ето кодов фрагмент, който демонстрира решението с прост пример:
import pandas as pd
# Load data from a CSV file into a DataFrame object
df = pd.read_csv('your_spreadsheet.csv')
# Access and update the desired cells - let's update column 'Age' by adding 1 to each value
df['Age'] = df['Age'] + 1
# Save the updated DataFrame back to the CSV file
df.to_csv('your_updated_spreadsheet.csv', index=False)
Разбиране на Кодекса
Първата стъпка е да импортирате библиотеката Pandas под псевдонима `pd`. След това трябва да заредим данните от CSV файл в DataFrame обект с помощта на функцията `pd.read_csv()`, като посочим името на входния файл ('your_spreadsheet.csv').
Сега идва основната част от проблема: достъп и актуализиране на желаните клетки. В този пример искаме да актуализираме колоната „Възраст“, като добавим 1 към всяка стойност в колоната. Ние правим това, като просто добавяме 1 към колоната „Възраст“, която е достъпна чрез синтаксиса `df['Възраст']`. Този код ще извърши поелементно добавяне на 1 към всеки елемент в колоната „Възраст“.
Накрая запазваме актуализираната DataFrame обратно в CSV файла с помощта на функцията `df.to_csv()` с името на изходния файл ('your_updated_spreadsheet.csv'). Параметърът `index=False` се използва, за да се избегне записването на номера на редове в изходния файл.
Индекси на Pandas и избор на данни
Pandas разчита до голяма степен на концепцията за индекси за избор и манипулиране на данни. По подразбиране, когато зарежда данни от файл, Pandas присвоява a цифров индекс към всеки ред на DataFrame, започвайки от 0. Когато работите с данни в Pandas, е важно да разберете различните начини за избор и филтриране на данни въз основа на стойности на индекси или имена на колони.
Например, за да изберете конкретен ред или редове, можете да използвате индексатора `iloc`, който ви позволява да осъществявате достъп до редове въз основа на техния целочислен индекс:
# Select the first row of the DataFrame first_row = df.iloc[0] # Select rows 1 to 3 (excluding 3) rows_1_to_2 = df.iloc[1:3]
Когато трябва да актуализирате клетки въз основа на конкретно условие, като например актуализиране на колоната „Възраст“ само за тези редове, където друга колона (напр. „Град“) има определена стойност, можете да използвате булево индексиране:
# Update the 'Age' column by adding 1, only for rows where 'City' is equal to 'New York' df.loc[df['City'] == 'New York', 'Age'] = df['Age'] + 1
В този пример индексаторът „loc“ се използва за избиране на редове въз основа на булево условие и след това колоната „Възраст“ се актуализира.
Имайте предвид, че това е само върхът на айсберга, когато става въпрос за работа с данни в Pandas. Библиотеката предоставя множество функции и техники за ефективно манипулиране, анализиране и визуализиране на вашите данни. Разбирането на основите, като например актуализиране на клетки в лист по име на колона, поставя здрава основа за работа с по-сложни структури от данни и задачи за анализ в бъдеще.