Я начал изучать Data Science, как и все остальные, с создания моей первой модели с использованием техники машинного обучения. Моя первая строка кода была:

import pandas as pd

Помимо милого имени, я не особо обращал внимание на эту библиотеку, но много использовал ее при создании моделей. Вскоре я понял, что недооценивал мощь Pandas, он может делать больше, чем кунг-фу, и это то, что мы собираемся узнать из серии статей, в которых я собираюсь изучить библиотеку Pandas, чтобы получить навыки, которые могут помочь нам анализировать данные. в глубине.

В этой статье мы разберемся

  1. Как читать данные с помощью Pandas?
  2. Как хранятся данные?
  3. Как мы можем получить доступ к данным?

Что такое панды?

Pandas - это библиотека Python для анализа и обработки данных. Тем не менее, панды вращаются вокруг данных. Данные, которые мы читаем через pandas, чаще всего имеют формат , разделенные запятыми или csv.

Как читать данные?

Мы используем метод read_csv () для чтения файла csv, который является первой строкой кода, с которой мы все сталкиваемся, когда начинаем использовать библиотеку Pandas. Не забудьте импортировать панд, прежде чем начинать кодировать.

import pandas as pd
titanic_data = pd.read_csv("../Dataset/titanic.csv")

В этой статье мы будем использовать базу данных Титаника, доступ к которой вы можете получить здесь. После чтения данных с помощью pd.read_csv () мы сохраняем их в переменной titanic_data, которая имеет тип Dataframe.

Что такое Dataframe?

Фрейм данных - это сбор данных в строках и столбцах. Технически фреймы данных состоят из отдельных серий . Серии - это просто список данных. Давайте разберемся с некоторым примером кода

#We use pd.Series() to create a series in Pandas
>> colors = pd.Series(['Blue','Green']) 
>> print(colors)
output:
0     Blue
1    Green
dtype: object
>> names_list = ['Ram','Shyam']
>> names = pd.Series(names_list)
output:
0      Ram
1    Shyam
dtype: object

Мы предоставляем список в качестве параметра методу pd.Series (), который создает серию с индексом. По умолчанию индекс начинается с 0. Однако мы даже можем изменить индекс, поскольку индекс также является серией.

>> index = pd.Series(["One","Two"])
>> colors = pd.Series(['Blue','Green'],index = index) 
>> print(colors)
output:
One     Blue
Two    Green
dtype: object

Теперь возвращаясь к нашему определению, Dataframe - это набор отдельных серий. Давайте использовать серии цветов и names, которые мы инициализировали выше, для создания фрейма данных.

>> df = pd.DataFrame({"Colors":colors,"Names":names})
>> print(df)
output:
   Colors  Names
0   Blue    Ram
1  Green  Shyam

Мы использовали pd.DataFrame () для создания фрейма данных и передали ему словарь. Ключи этого словаря представляют имя столбца, а значения представляют соответствующие данные для этого столбца, который является серией. Итак, из приведенного выше примера вы можете понять, что Dataframe - это не что иное, как набор серий. Мы также можем изменить индекс Dataframe таким же образом, как и с сериями.

>> index = pd.Series(["One","Two"])
>> colors = pd.Series(['Blue','Green'],index = index) 
>> names = pd.Series(['Ram','Shyam'],index = index)
# Creating a Dataframe
>> data = pd.DataFrame({"Colors":colors,"Names":names},index=index)
>> print(data)
output:
     Colors  Names
One   Blue    Ram
Two  Green  Shyam

До сих пор мы поняли, как мы читаем данные csv и как эти данные представлены. Давайте перейдем к пониманию, как мы можем получить доступ к этим данным.

Как получить доступ к данным из Dataframes?

Есть два способа получить доступ к данным из Dataframes:

  1. По столбцам
  2. По строкам

По столбцам

Прежде всего, давайте проверим столбцы в наших данных Титаника.

>> print(titanic_data.columns)
output:
Index(['Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp', 'Parch', 'Ticket','Fare', 'Cabin', 'Embarked'],
      dtype='object')

Теперь мы можем получить доступ к данным, используя имя столбца двумя способами: используя имя столбца как свойство нашего объекта набора данных или используя имя столбца как индекс нашего объекта набора данных. Преимущество использования имени столбца в качестве индекса заключается в том, что мы можем использовать столбцы с такими именами, как «Имя», «Фамилия», которые невозможно использовать в качестве свойства.

# Using column name as property
>> print(titanic_data.Name)
output:
0                                Braund, Mr. Owen Harris
1      Cumings, Mrs. John Bradley (Florence Briggs Th...
2                                 Heikkinen, Miss. Laina
3           Futrelle, Mrs. Jacques Heath (Lily May Peel)
4                               Allen, Mr. William Henry
....
Name: Name, Length: 891, dtype: object
# Using column name as index
>> print(titanic_data['Name'])
output:
0                                Braund, Mr. Owen Harris
1      Cumings, Mrs. John Bradley (Florence Briggs Th...
2                                 Heikkinen, Miss. Laina
3           Futrelle, Mrs. Jacques Heath (Lily May Peel)
4                               Allen, Mr. William Henry
....
Name: Name, Length: 891, dtype: object
>> print(titanic_data['Name'][0])
output:
Braund, Mr. Owen Harris

По строкам

Для построчного доступа к данным мы используем такие методы, как loc () и iloc (). Давайте рассмотрим некоторые примеры, чтобы понять эти методы.

# Using loc() to display a row
>> print(titanic_data.loc[0])
output:
PassengerId                          1
Survived                             0
Pclass                               3
Name           Braund, Mr. Owen Harris
Sex                               male
Age                                 22
SibSp                                1
Parch                                0
Ticket                       A/5 21171
Fare                              7.25
Cabin                              NaN
Embarked                             S
Name: 0, dtype: object
# Using iloc() to display a row
>> print(titanic_data.iloc[0])
output: same as above
>> print(titanic_data.loc[0,'Name'])
output:
Braund, Mr. Owen Harris
>> print(titanic_data.iloc[0,3])
output: same as above

Как мы видели в коде выше, мы обращаемся к строкам, используя их значения индекса, а для дальнейшего перехода к определенному значению в строке мы используем либо имя столбца, либо индекс столбца. Помните, как мы видели ранее, что столбцы также хранятся в виде списка, индекс которого начинается с 0. Итак, первый столбец «PassengerId» присутствует в индексе 0. Помимо этого, мы увидели разницу между методами loc () и iloc (). Оба выполняют одну и ту же задачу, но по-разному.

Мы также можем получить доступ к более чем одной строке одновременно со всеми или некоторыми столбцами. Давайте разберемся, как

# To display whole dataset
>> print(titanic_data.loc[:]) # or titanic_data.iloc[:]
output:
     PassengerId  Survived  Pclass  .....
0              1         0       3   
1              2         1       1   
2              3         1       3   
3              4         1       1
...
[891 rows x 12 columns]
# To display first four rows with Name and Ticket
>> print(titanic_data.loc[:3,["Name","Ticket"]]) # or titanic_data.iloc[:3,[3,8]]
output:
                                Name            Ticket
0               Braund, Mr. Owen Harris         A/5 21171
1  Cumings, Mrs. John Bradley (Flor...          PC 17599
2               Heikkinen, Miss. Laina          STON/O2. 3101282
3  Futrelle, Mrs. Jacques Heath....             113803

Надеюсь, у вас возникла идея использовать методы loc () и iloc (), а также вы поняли разницу между двумя методами. На этом мы подошли к концу статьи. Мы продолжим знакомство с библиотекой Pandas во второй части, но пока продолжаем практиковаться. Удачного кодирования!