我有一个看起来像这样的数据框:
A B C D E
Date
1999-01-01 1 2 3 4 5
1999-01-02 1 2 3 4 5
1999-01-03 1 2 3 4 5
1999-01-04 1 2 3 4 5
1999-01-05 1 2 3 4 5
我正在尝试根据日期将某些行一分为二,并将输出作为新的数据框
我尝试过的是这个
a = "1999-01-01"
b = "1999-01-03"
c = "1999-01-05"
Obs_1 = df.loc[b] / df.loc[a] - 1
Obs_2 = df.loc[c] / df.loc[b] - 1
df_1 = pd.concat([Obs_1, Obs_2], axis = 1)
df_1
但是,它只是给我整个NaN,即:
A B C D E A B C D E
Date
1999-01-01 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1999-01-03 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1999-01-05 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
我对concat()中只有两件事时为什么返回三行感到有点困惑...可能相关,我也不明白为什么它返回NaN而不是b /的结果a和c / b。
作为补充问题,当我检查Obs_1时,它会返回
A B C D E
Date
1999-01-01 NaN NaN NaN NaN NaN
1999-01-03 NaN NaN NaN NaN NaN
而不是使用b / a的序列的预期结果
请有人指引我正确的方向吗?
非常感谢