【问题标题】:Appending pandas series to the left of index zero将熊猫系列附加到索引零的左侧
【发布时间】:2020-10-28 02:35:39
【问题描述】:

我正在尝试根据左限a0 和右限b0 选择熊猫数据系列yf 的部分。

如果左限制是负数,我想用零填充差异,以便生成的系列具有所需的长度,如下所示:

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

但这又回来了:

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

没有提供更多信息。

【问题讨论】:

    标签: python pandas append series pad


    【解决方案1】:

    我将源 Series 创建为:

    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
    

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

    然后,创建一个由 3 个零组成的输出 Series 和 然后我跑了 yf 的 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 进行了另一次测试 使用默认索引(来自 0 的连续整数):

    yf = pd.Series(lst + 5)
    

    这次的结果是:

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

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

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

    【讨论】:

    • 谢谢,你是对的,这行得通。我的问题是结果系列的尺寸。对此感到抱歉。
    猜你喜欢
    • 2018-02-28
    • 2014-07-11
    • 1970-01-01
    • 2018-12-25
    • 2019-10-01
    • 2023-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多