简短版本:我有两个 TimeSeries(记录开始和记录结束)我想用作面板(或 DataFrame)中数据的索引。不是分层的,而是并行的。我不确定如何做到这一点。
长版:
我正在构建一个熊猫面板,其中包含一些类似于距天线一定距离的温度和密度的数据。正如我所看到的,最自然的结构是将例如temp
和dens
作为项目(即面板的子数据帧),将时间记录为长轴(索引),因此与天线的距离作为短轴(列)。
我的问题是:对于每个记录,仪器在一段时间内平均/积分。因此,对于每个数据转储,都会保存两个时间戳:开始记录和结束记录。我需要这两个。因此,我需要一些可能被称为“并行索引”的东西,其中两个不同的 TimeSeries (startRec
和endRec
) 作为索引工作,对于某个数据点,我可以获得我喜欢的任何一个。当然,我真的不需要同时为两者索引,但两者都需要在数据结构中自然可用。例如,对于任何给定的温度或密度记录,我需要能够同时获得记录的开始时间和结束时间。
我当然可以将两个 TimeSeries 保存在单独的 DataFrame 中,但是 pandas 的要点是自动数据对齐,这并不是很理想。
我怎样才能最好地做到这一点?
示例数据
距天线两个距离处具有三个记录的示例面板:
import pandas as pd
import numpy as np
data = pd.Panel(data={'temp': np.array([[21, 20],
[19, 17],
[15, 14]]),
'dens': np.array([[1001, 1002],
[1000, 998],
[997, 995]])},
minor_axis=['1m', '3m'])
输出data
:
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 3 (major_axis) x 2 (minor_axis)
Items axis: dens to temp
Major_axis axis: 0 to 2
Minor_axis axis: 1m to 3m
在这里,主轴目前只是一个基于整数的索引(0 到 2)。短轴是距天线的两个测量距离。
我有两个TimeSeries
我想用作索引:
from datetime import datetime
startRec = pd.TimeSeries([datetime(2013, 11, 11, 15, 00, 00),
datetime(2013, 11, 12, 15, 00, 00),
datetime(2013, 11, 13, 15, 00, 00)])
endRec = pd.TimeSeries([datetime(2013, 11, 11, 15, 00, 10),
datetime(2013, 11, 12, 15, 00, 10),
datetime(2013, 11, 13, 15, 00, 10)])
输出startRec
:
0 2013-11-11 15:00:00
1 2013-11-12 15:00:00
2 2013-11-13 15:00:00
dtype: datetime64[ns]