Numpy и Pandas — это две среды, часто используемые при обработке данных Python, они обе написаны на языке C, поэтому скорость работы высока. Matplotlib — это инструмент рисования для Python, который может рисовать ранее обработанные данные через изображения. Раньше я только читал грамматику, но систематически не изучал и не обобщал.В этом сообщении в блоге обобщаются API этих трех фреймворков.
Ниже приводится краткое введение и различия между этими тремя фреймворками:
- Numpy: часто используется для генерации данных и некоторых операций.
- Панды: на основе Numpy, это обновленная версия Numpy.
- Matplotlib: мощный инструмент для построения графиков на Python
Numpy
Руководство по быстрому запуску Numpy может относиться к:Numpy tutorial
Непонятные свойства
ndarray.ndim: измерение
ndarray.shape: количество строк и столбцов, например (3, 5)
ndarray.size: количество элементов
ndarray.dtype: тип элемента
Numpy создать
array(object, dtype=None): используйте список или кортеж Python для создания данных
zeors(shape, dtype=float): создать данные со всеми 0
one(shape, dtype=None): создавать данные со всеми единицами
пустой (форма, dtype = float): создать данные без инициализации
arange([start,]stop, [step,]dtype=None): создать сегмент данных с фиксированным интервалом
linspace(начало, стоп, число=50,
dtype=None): равномерно создавать данные в заданном диапазоне
пустые операции
Сложение, вычитание: а + b, а - b
Умножение: b*2, 10*np.sin(a)
Мощность: б**2
Оценка: aУмножение матриц: np.dot(A,B) или A.dot(B)
Другие: +=, -+, sin, cos, exp
Numpy-индексация
Метод индекса массива: A[1, 1]
Срез: A[1, 1:3]
Итерация: для элемента в A.flat
NumpyДругое
reshape (a, newshape): изменить форму данных без изменения исходных данных и вернуть новый набор данных.
resize(a, new_shape): изменение формы данных изменит исходные данные и не вернет данные
ravel(a): вернется в одном измерении
vstack(tup): объединить вверх и вниз
hstack(tup): объединить левое и правое
hsplit(ary, index_or_sections): разделить по горизонтали на n частей
vsplit(ary, index_or_sections): Вертикальное разделение на n частей
копия(а): глубокая копия
Pandas
Руководство по быстрому запуску Pandas может относиться к:10 Minutes to pandas
Структуры данных панд
В Pandas есть две структуры данных: Series и DataFrame.
Серия: индексы слева, значения справа. Создано следующим образом:
In [4]: s = pd.Series([1,3,5,np.nan,6,8])
In [5]: s
Out[5]:
0 1.0
1 3.0
2 5.0
3 NaN
4 6.0
5 8.0
dtype: float64
DataFrame: это табличная структура данных с индексом строки и индексом столбца, которую можно рассматривать как большой словарь, состоящий из серий. Создано следующим образом:
In [6]: dates = pd.date_range('20130101', periods=6)
In [7]: dates
Out[7]:
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')
In [8]: df = pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
Pandas просмотр данных
индекс: индекс
столбцы: индекс столбца
значения: значение
head(n=5): вернуть первые n элементов данных
tail(n=5): вернуть последние n элементов данных
описать(): распечатать количество данных, среднее значение и другие данные
sort_index (ось = 1, по возрастанию = False): сортировать по индексу
sort_values(by='B'): сортировать по значению индекса
Панды выбирают данные
Метод выбора массива: df['A']
Метод выбора среза: df[0:3] или df['20130102':'20130104']
Выбрать по метке: df.loc['20130102':'20130104',['A','B']]
Выбрать по расположению: df.iloc[3:5,0:2]
Смешанный выбор: df.ix[:3,['A','C']]
Выбор условного суждения: df[df.A > 0]
Панды обрабатывают недостающие данные
Удалить строки с отсутствующими данными: df.dropna(how='any')
Заполните недостающие данные: df.fillna (значение = 5)
Является ли значение данных NaN: pd.isna(df1)
Панды объединяют данные
pd.concat ([df1, df2, df3], ось = 0): объединить df
pd.merge(left, right, on='key'): объединить в соответствии с ключевым полем
df.append(s, ignore_index=True): добавить данные
Импорт и экспорт панд
df.to_csv('foo.csv'): сохранить в CSV-файл
pd.read_csv('foo.csv'): чтение из CSV-файла
df.to_excel('foo.xlsx', sheet_name='Sheet1'): сохранить в файл excel
pd.read_excel('foo.xlsx', 'Лист1', index_col=None, na_values=['NA']): чтение из файла excel
Matplotlib
Вот только самый простой способ рисовать картинки:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 随机生成1000个数据
data = pd.Series(np.random.randn(1000),index=np.arange(1000))
# 为了方便观看效果, 我们累加这个数据
data.cumsum()
# pandas 数据可以直接观看其可视化形式
data.plot()
plt.show()