考虑下面的代码:
sfix = sub['fix'] # a pandas.Panel
(sfix.minor_xs('tstop') - sfix.minor_xs('tstart')) # slicey slicey!
输出:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 804 entries, 0 to 803
Data columns (total 8 columns):
0 573 non-null values
1 675 non-null values
2 804 non-null values
3 715 non-null values
4 578 non-null values
5 568 non-null values
6 664 non-null values
7 599 non-null values
dtypes: float64(8)
此输出对应于Panel 对象中包含的 8 个 DataFrame 中的每一个的tstop
和列之间的差异。tstart
这些列都包含相同类型的数据,我想将它们堆叠成一个系列,ergo:
s = pd.concat([df[i] for i in df])
这是一个好的开始,但现在我的所有索引都重复了 8 次:
>>> s.ix[0]
0 98
0 184
0 178
0 188
0 176
0 234
0 128
0 82
dtype: float64
从这里开始,我不太清楚如何重新索引我的系列,以使索引从 0 变为len(s)
. 我尝试了以下方法,但无济于事:
s.reindex(copy=True)
s.reindex(index=xrange(len(s)), copy=True)
我错过了什么?