处理大熊猫中的多变量和多站时间序列数据

时间:2015-03-10 13:31:26

标签: python pandas

我有来自不同电台的时间序列数据,每个电台都有一堆变量(有些变量,有些变量与其他电台不同)。我想要 能够按站或变量类型查询,那么什么是好的 要使用哪种熊猫结构?

我正在考虑使用面板,但似乎他们强制执行 层次结构。

我希望能够像p.temp或p.siteA这样的东西 两次获取数据帧

1 个答案:

答案 0 :(得分:2)

不确定“强制执行层次结构”是什么意思,但您可以使用Pandas 3D Panel完成那种查询:

import numpy as np
from pandas import Panel, date_range

index = date_range(start='2015-01-01', end='2015-02-01')
stations = ['Here', 'There', 'Everywhere']
variables = ['temperature', 'salinity', 'oxygen', 'pH']

data = np.empty((len(index), len(stations), len(variables)))
data.shape
(32, 3, 4)

p = Panel(data=data, items=index, major_axis=stations, minor_axis=variables)
p.shape
(32, 3, 4)

p
<class 'pandas.core.panel.Panel'>
Dimensions: 32 (items) x 3 (major_axis) x 4 (minor_axis)
Items axis: 2015-01-01 00:00:00 to 2015-02-01 00:00:00
Major_axis axis: Here to Everywhere
Minor_axis axis: temperature to pH

# Slice by date:
p.ix['2015-01-30']
# by variable
p.minor_xs('salinity')
# by station
p.major_xs('There')
# all together
p.ix['2015-01-30']['temperature']['Here']

This notebook显示有关切片和生成的DataFrame的更多详细信息。

相关问题