将 pandas 系列附加到索引零的左侧

Appending pandas series to the left of index zero

我正在尝试 select 根据左限制 a0 和右限制 b0 的 pandas 数据系列 yf 的部分。

如果左边的限制是负数,我想用零填充差值,这样得到的系列就会有所需的长度,如下所示:

if a0<0: ycr = pd.Series([0]*(abs(a0))).append(yf[:b0])

但这是返回:

Series([], Name: 1, dtype: float64)

并且没有提供更多信息。

我将源 系列 创建为:

lst = np.arange(10,20)
yf = pd.Series(lst + 5, index = lst)

因此它包含:

10    15
11    16
12    17
13    18
14    19
15    20
16    21
17    22
18    23
19    24
dtype: int32

(左列为索引,右列为实际值)。

然后,创建一个输出 Series 由 3 个零和 然后 yf I 运行:

的 5 个初始元素
a0 = -3; b0 = 5
ycr = pd.Series([0]*(abs(a0))).append(yf[:b0])

并得到:

0      0
1      0
2      0
10    15
11    16
12    17
13    18
14    19
dtype: int64

然后我执行了另一个测试,在源 Series created 使用默认索引(0 中的连续整数):

yf = pd.Series(lst + 5)

这次的结果是:

0     0
1     0
2     0
0    15
1    16
2    17
3    18
4    19
dtype: int64

(唯一的区别在于索引列,如我所料)。

因此,如您所见,您的代码按预期工作。 可能是你的源数据有问题。