Высокопроизводительная структура данных Python и инструмент анализа данных — pandas

машинное обучение

Что такое панды? Какая польза?

pandas — это библиотека с открытым исходным кодом под лицензией BSD, которая предоставляет высокопроизводительные, простые в использовании структуры данных и инструменты анализа данных для языка программирования Python.

Как использовать панд?

Прежде всего, когда мы хотим использовать библиотеку, предоставленную третьей стороной, нам нужно импортировать ее в наш проект, здесь мы импортируем pandas и numpy (numpy — это библиотека расширения языка Python, которая поддерживает большое количество размерностей операции с массивами и матрицами, а также предоставляет большую библиотеку математических функций для операций с массивами).

import numpy as np
import pandas as pd

Основные структуры данных панд делятся на Series и DataFrame.
Серия: это один столбец данных, немного похожий на массив, данные одномерные.
DataFrame: подумайте об этом как о реляционной таблице данных, данные являются двумерными.

Создайте объект серии:

s = pd.Series([1, 3, 5, np.nan, 6, 8])
s

Создайте объект DataFrame из массива NumPy, проиндексированного с датой и временем массива:

dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
df

Создайте объект DataFrame из объекта dict:

df2 = pd.DataFrame({'A': 1.,
                    'B': pd.Timestamp('20130102'),
                    'C': pd.Series(1, index=list(range(4)), dtype='float32'),
                    'D': np.array([3] * 4, dtype='int32'),
                    'E': pd.Categorical(["test", "train", "test", "train"]),
                    'F': 'foo'})
fd2

Данные дисплея

# 显示 df 的前 5 条数据
df.head()
# 显示 df 的后 3 条数据
df.tail(3)
# 显示 df 的索引
df.index
# 显示 df 所有列
df.columns

получить некоторые данные

# 获取 A 列的数据
df['A']
# 获取下标为 0,1,2 的数据
df[0:3]
# 获取时间段的数据
df['20130102':'20130104']

Получить данные на основе тегов

df.loc[:, ['A', 'B']]
df.loc['20130102':'20130104', ['A', 'B']]
df.loc['20130102', ['A', 'B']]

Получить данные по индексу

df.iloc[3]
df.iloc[3:5, 0:2]
df.iloc[[1, 2, 4], [0, 2]]

Добавить новый столбец данных F

s1 = pd.Series([1, 2, 3, 4, 5, 6], index=pd.date_range('20130102', periods=6))
df['F'] = s1

Для более сложных операций вы можете использовать метод apply, передав лямбда-функцию

df.apply(lambda x: x.max() - x.min())

Манипулировать CSV-файлами

# 把 df 中的数据写入 foo.csv 文件中
df.to_csv('foo.csv')
# 读取 foo.csv 文件中的数据
pd.read_csv('foo.csv')

Манипулировать файлами Excel

# 把 df 中的数据写入 foo.xlsx 文件中
df.to_excel('foo.xlsx', sheet_name='Sheet1')
# 读取 foo.xlsx 文件中的数据
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA'])

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

Секретно скажу вам, что мощный инструмент для запуска веб-страниц с машинным обучением, который является экспериментальным проектом Google по машинному обучению, не требует установки, он очень прост в использовании.
адрес:colab.research.google.com

PS:
Чистые горы и чистые воды начинаются с пыли, а знания ценнее усердия.
У меня есть вино, у тебя есть история?
Публичный аккаунт WeChat: "болтать".
Добро пожаловать в чат и поговорим о коде.