Pandas использует две основные структуры данных, DataFrame и серии для хранения и манипулирования данными. Каждый может рассматриваться как смесь или составную структуру данных словари и Списки Отказ То есть элементы в структурах данных PandaS могут быть доступны с помощью ключевых значений, а также численные индексы.
Для остальной части статьи, давайте импомнем библиотеку Pandas.
import pandas as pd
Серии
Предполагается, что серия должна проводить одномерный массив значений, аннотированных с несколькими атрибутами данных, такими как имена индекса, тип данных и имя массива.
Чтобы создать серию, вы будете использовать серийный конструктор портить Серия ()
И обычно используют два аргумента для создания серии. Первый аргумент используется для передачи массива значений данных, а второй дополнительный аргумент используется для передачи массива имен индекса. Существует третий аргумент, который используется, чтобы дать имя серии.
Вот несколько способов создать серию:
tweet = pd.Series(["My first tweet", 20, 4], index=["message", "likes", "retweets"], name="Tweet Data") letters = pd.Series(['a', 'b', 'c', 'd'], index=range(4)) ranking = pd.Series(["A. Einstein", "I. Newton", "N. Tesla", "Heisenberg"], index=[1, 2, 3, 4], name="Scientists") countries = pd.Series(["India", "Russia", "Japan", "China"])
Выход Печать (Tweet)
будет:
Обратите внимание Как вы можете указать имена индекса и имя для всей серии (что в этом случае – «Tweet Data»).
Используя эти имена индексов, теперь вы можете получить доступ к отдельным элементам в серии. На самом деле существует три способа доступа к отдельным элементу, т. Е. Указание имени индекса внутри оператора квадратного кронштейна («[[]», как в словаре), используя имя индекса с оператором DOT (только в том случае, если имя не содержит Любые пробелы) и используя индексацию списка Python:
print(tweet["message"]) # Output : "My first tweet" print(tweet.likes) # Output : 20 print(tweet[2]) # Output : 4
Dataframe.
Датафарам технически является Коллекция серии Или другими словами, многие серии склеены вместе. Для рисования параллелей вы можете думать об этом как о двумерном массиве или матрице. Тем не менее, это гораздо больше, чем массив или матрица, файл DataFrame может вместить гораздо больше, чем просто 2-х измерения данных.
Чтобы построить DataFrame, вы собираетесь использовать, не очень удивительно, конструктор данных DataFrame портить Dataframe ()
Отказ Конструктор DataFrame принимает одно позиционное и несколько аргументов ключевых слов, но есть три аргумента, которые вы обычно используете. Первый аргумент занимает словарь, в котором каждая пара клавиш содержит одномерный массив, представляющий столбец. Второй аргумент принимает имена колонны. И третий аргумент принимает список, содержащий имена индексов.
Например.
sales = pd.DataFrame({"Laptops" : [100, 110, 20], "Mobiles" : [30, 35, 4], "Earphones" : [150, 120, 40]}, columns={"Laptops", "Mobiles", "Earphones"}, index=["2018", "2019", "2020"]) sales
Выход:
Вы можете играть с конструктором DataFrame так же, как мы сделали с серией конструктора. Вы можете получить доступ к отдельным столбцам DataFrame, индексируя именами столбцов либо с оператором Square-кронштейна, либо оператором DOT.
print(sales["Mobiles"], '\n') print(sales.Earphones)
Выход:
Теперь, чтобы получить доступ к индивидуальному элементу данных внутри DataFrame, вы будете использовать два метода, а именно ILOC
и loc
Отказ
ILOC : Это уменьшает индексацию DataFrame для стандартной индексации на основе нулевой матрицы Python. Работает с квадратными скобками. То есть,
sales.iloc[0][2] # Output : 150. Laptop Sales in 2018 sales.iloc[0][0] # Output : 100. Mobile Sales in 2018 sales.iloc[2][2] # Output : 40 Earphone Sales in 2020
Примечание : Метод ILOC работает только с численными индексами.
loc : Это обеспечивает множество гибких способов доступа к элементу в DataFrame. Этот метод доступа к элементам очень похоже на индексы массива Numpy, если вы знакомы с помощью numpy массивов. Это позволяет получить доступ к элементам с использованием меток для индексов, так и для столбцов, а также с использованием численных индексов. То есть:
sales.loc['2018', 'Mobiles'] # Output : 30 sales.loc['2020', 'Earphones'] # Output : 40 sales.loc[['2018', '2020'], 'Laptops'] # Output : # 2018 100 # 2020 20 # Name: Laptops, dtype: int64
loc
Метод также принимает массивы логических ценностей в качестве аргументов, но давайте сохраним, что для другой статьи.
Спасибо за прочтение.
С уважением,
Сурадж Упадхьяй Отказ
Оригинал: “https://dev.to/surajupadhyay/pandas-series-and-dataframe-5b24”