Разберитесь с Python и самым мощным инструментом для Data Scientist

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



Если вы не знаете, что такое pd.Series по ссылке выше, у вас есть быстрое объяснение.

DataFrames, без сомнения, является наиболее часто используемой функцией pandas. Это позволяет вам правильно управлять огромным количеством данных. Он вдохновлен языком R, поэтому, если вы привыкли программировать с помощью R, это покажется вам знакомым.

Основная идея фрейма данных - объединить все виды серий. Чтобы разделить индекс между данными. Таким образом, вы можете вызывать определенные ярлыки, каталогизировать или классифицировать то, что находится внутри этих данных, и легко строить графики для извлечения ценной информации.

Давайте начнем:

В большинстве случаев DataFrames, над которыми мы будем работать, будут импортированы в каком-либо формате. Обычно .csv.

import pandas as pd
df = pd.read_csv(file_path)

И у нас уже есть датафрейм. Есть еще много других возможностей, которые можно представить в этой функции. Вы можете увидеть их в Газете панд. Это очень понятно.

Теперь мы создадим его вручную и посмотрим, что мы можем сделать.

df = pd.DataFrame(randn(5,4),index='A B C D E'.split(),columns='W X Y Z'.split())
df

Теперь мы можем выбрать, что мы увидим, выполнив следующие действия.

Если мы хотим видеть столбец, мы сделаем следующее:

df['W']

Или, если мы хотим выбрать более одного:

df[['W', 'Z']] 

Если вы проверите тип данных в одном столбце, вы увидите, что это pandas.Series, так что теперь понятно, почему мы провели первую лекцию.

Если мы хотим получить строку, процесс будет другим. Мы должны использовать метод .loc или .iloc. Это зависит от того, хотим ли мы искать индекс по имени или по целому числу (теперь легко понять «i», за которым следует «loc»).

df.loc['A'] #.location
df.iloc[2] #. integer location

Что, если мы хотим искать только одну ячейку в нашем фрейме данных? Затем проделаем аналогичную операцию:

df.loc['B', 'Y']

Мы можем делать гораздо больше, чем просто изучать наши данные. Например создание новых столбцов. Или действовать между колоннами.

Как мы видели в приложенной выше Storie, мы можем добавлять дополнения между panda.Series, и, как мы уже видели, отдельный столбец является объектом, подобным Series. Таким образом, мы можем вставить новый столбец, который будет добавлением двух других.

df['new'] = df['W'] + df['Z']
df

Это способ добавления столбцов и способ их удаления с помощью drop, поэтому:

df.drop('new', axis=1, inplace=True)

Здесь есть несколько моментов для комментариев. Во-первых, мы используем не квадратные скобки, а круглые скобки. Потому что сейчас мы работаем с функцией. Атрибут оси объясняет нашему компьютеру, что единственное, что мы хотим удалить, - это столбец. Если мы хотим удалить строку, это ноль (это значение по умолчанию). И наконец, но не менее, атрибут inplace. Это делает ваше изменение постоянным (будьте осторожны, поскольку значение inplace по умолчанию равно False, поэтому, если мы используем .drop, но не вставляем на место, внесенное изменение влияет только на этот момент).

Чтобы закончить это мини-туториал, мы посмотрим, как работают логические операторы в пандах.

Давайте попробуем увидеть только положительные числа нашего фрейма данных:

df>0

Упс ... здесь мы видим только маску в форме фрейма данных с True или False ... вы увидите, что в этой матрице True или False у нас есть наши значения True, тогда как в нашем исходном фрейме данных у нас были положительные значения и то же самое с False. Так что это не сработало так плохо, как мы сначала думали.

Фактически, если мы хотим увидеть фактические значения, нам нужно только сделать:

df[df>0]

На сегодня все. Вы можете спросить меня о чем хотите.

Удачи!