Панды
Python в структурированном наборе инструментов анализа данных
основан NumPy: высокопроизводительные вычисления матрицы
графика библиотека Matplotlib: обеспечение визуализация данных
Приступая к документации: Ссылка
-
Создание панд объектов:
- Одномерный массив Серия:
S = pd.Series (Данные, индекс = индекс)
индекс представляет собой список данных тегов , как в
природе: объекты Объект класса ndarray / класс ДИКТ ( с использованием .get ()) Tab / ее работу - Одномерный массив DataFrame:
DF = pd.DataFrame (Данные, индекс = индекс, столбцы Столбцы =)
индекс является меткой строки, столбцы вкладка колонки- Созданный массив
данных = pd.DataFrame (np.random.randn (6,4) , индекс = список индексов, столбцов = столбец метки список) - Созданный в словарь,
D = pd.DataFrame ({ 'A': [л, 2,3], 'В': [ 'A', 'B', 'C', 'D'], 'C': [ 545565585]}) # А / в / С является меткой колонка
# e.g. dates=pd.date_range('20160301',periods=6) pd.DataFrame(np.random.randn(6,4),index=dates,columes=list('ABCD'))
- Созданный массив
- Трехмерный массив Панель:
Ток при относительно небольших
предметов: 0 оси, соответствующего индекса элемента является dataframe
major_axis: Ось 1, dataframe в строке этикетке
minor_axis: оси 2, dataframe в метке столбца# e.g. data={'Item1':pd.DataFrame(np.random.randn(4,3)), 'Item2':pd.DataFrame(np.random.randn(4,2))} pn=pd.Panel(data) pn.to_frame() # 将三维转换为多维标签表示的二维数组
- Одномерный массив Серия:
-
Переиндексации
s.reindex (список, fill_value = 0) переиндексация, делеция , присвоенное значения по умолчанию 0
после того, как метода = «bfill» удаление наполнения; s.reindex (список, метод = « ffill») Переиндексировано, значение наполнения перед удалением значение
df.reindex (индекс =, = столбцы) повторное индексирование dataframe -
См данных:
data.values порождающего ndarray
вид data.shape формы
data.head () возвращает пять строк до
конечного data.tail () возвращает пять строк
data.index возврата строк этикетки
data.columns возвращает метку столбцу
df.value_counts () каждая цифра появляется несколько раз
df.mode () производится наибольшее количество цифровых
data.describe () Просмотр основных статистических данных (среднее, квантиль и т.д.)
df.pivot_table (значения = [ «D»], индекс = [ «а», «в»] , столбцы = [ «с»], aggfunc = «средний») , соответствующие множества значений усредняются, без соответствующего значения NULL
s.unique () возвращает список значений серии не перекрываются
s.index .is_unique определяет , является ли индекс повторяется
определяет s.isin (список элементов) , является ли элемент в серии -
Выбор данных
данные [Col] или назначенный столбец выберите data.col
data.loc [ярлык] строке , выберите строку тега
data.loc [ «20160301», «B »] заранее определенное значение , выбранное в соответствии с этикеткой
data.iloc [этикетка] Значения индекса выбор строка
данные [5:10] , чтобы выбрать множество строк
данных [bool_vector] Логический вектор выбранных в соответствии с множеством строк
data.at [pd.Timestamp ( «20160301») , «B»] Аналогичным образом , но должны использовать нативную структуру данных, более эффективные
данные .iat [1,1] позиция по индексному номеру позиции одного значения
данных [данные> 0] выбор состояния -
Сортировка
data.sort_index (ось = 1, acsending = True) столбец taband
data.sort_values (от имени столбца '' =) значением столбца для сортировки
s.rank (метода = 'первого' / 'среднего') занимает медианное значение серии -
Добавить / удалить / изменить
- data.copy () глубокая копия
- pd.concat ([df1, df2, DF3 , ...]) сшивание множество списков в
сочетании pd.merge (слева, справа, по = 'ключ') о
эквивалентном SQL # SELECT * FROM левый INNER JOIN направо на left.key = right.key;
df.append (S, ignore_index = True) в сочетании по вертикали - df.insert (индекс местоположения «вставляется имена столбцов», вставленный в списке) , указанной позиции вставки нового столбца
df.assign (имя столбца списка = новое значение столбца) новые столбцы (сделать операцию копирования, исходный массив не изменился) - дель ДФ [ 'Имя столбца'] или df.pop ( 'имя столбца') или df.drop ( 'перечислены', ось = 1) Удалить столбец
df.drop ( 'OK имя') - df.stack () индекс столбца в индексе строки
stacked.unstack () сводится к индексу индекс строки столбца
df.add_prefix ( «префикс») в качестве префикса имя столбца
-
Основные операции
- Нуль
df.dropna () , содержащий строки нуль удалены
df.fillna (значение = 0) заменяется нулевым 0
pd.isnull (DF) определяет , является ли доступен массив данных
pd.isnull (DF) .any () .any () , чтобы определить , является ли весь массив имеющихся данных - Отсроченные
pd.Series ([1,3,5, np.nan, 6,8 ], индекс = дата) .shift (2) последовательность , начиная два значения отложено - В целом вычисления
df.sub (с, оси «индекс = ») каждый столбец двумерного массива вычитается DF одномерный массив S
df.apply (np.cumsum, ось =) использование функции (строки или столбцы, строки по умолчанию ): двумерный массив приложений аккумулировать функции
функции df.applymap (FUN) для использования (для всех значений)
- Нуль
-
пакет
- df.groupby ( 'A'). сум) статистика (пакет
- df.groupby ( «А»). Размер () Возвращает количество значений в каждом пакете
- Словарь отображение пакетов
Картирование = { 'А': Красный, 'B': 'Красный', 'C': синий, 'D': 'Оранжевый', 'E': 'Blue'}
df.groupby (Картирование, Ось = 1) - df.groupby (LEN) Функция группировки
- df.groupby (уровень =, ось =) на уровне пакетов с помощью
-
Временные ряды
- Создание временных рядов
дат = pd.date_range ( '20160301', периоды = 6) дней интервал по умолчанию
даты = pd.period_range ( '2000Q1', '2016Q1', частота = 'Q') - Ресэмплирование
s.resample ( «2мин», как = «сумма») выборки - Расчет интервала
pd.Timestamp ('20, 160,301 ') - pd.Timestamp ('20, 160,201')
pd.Timestamp ('20, 160,301' ) + pd.Timedelta (дни = 5.)
DF [ 'Grade'] = df.raw_grade.astype ( «категория») Добавить категорию
- Создание временных рядов
-
Данные о IO
df.to_csv (далее data.csv ') , полученные данные
pd.read_c ( 'data.csv', index_col = 0) читать данные
pd.read_table ( '' data.dat, сентябрь = '', заголовок = нет, имена = столбец список имен) чтение данных DAT -
Другие
% Matplotlib встраивает # нанесены на страницах
formater = '{0: .03f} ' Формат определенных функций форматирования.