代码之家  ›  专栏  ›  技术社区  ›  Don Giulio

用值填充熊猫系列的一部分

  •  1
  • Don Giulio  · 技术社区  · 6 年前

    Series 在有特定价值的熊猫身上,我不知道该怎么做。

    以下是我的系列:

    (Pdb) alfa = pd.Series(0, index=[1,2,3,4,5,6])
    (Pdb) alfa
    1    0
    2    0
    3    0
    4    0
    5    0
    6    0
    dtype: int64
    

    我想这样做:

    (Pdb) alfa.fill([2,3,4], 5)
    1    0
    2    5
    3    5
    4    5
    5    0
    6    0
    

    有什么线索吗?

    3 回复  |  直到 6 年前
        1
  •  1
  •   fuglede    6 年前

    你会的

    alfa[[2, 3, 4]] = 5
    

    或者,如果您处理的是一个连续的范围,请参阅上的文档 slicing ranges ,

    alfa[1:4] = 5
    
        2
  •  1
  •   Alex    6 年前

    你可以用 .loc

    alfa.loc[2:4] = 5
    

    如果不关心索引的实际值,可以使用 .iloc :

    alfa.iloc[1:4] = 5
    

    : loc先生 将引用/设置索引的元素 2 4 包含全部费用

        3
  •  0
  •   Karn Kumar    6 年前

    你在找什么 replace 相反 loc iloc 或者切片。。

    请看这张照片 pandas.DataFrame.replace

    >>> s
    0    0
    1    1
    2    2
    3    3
    4    4
    dtype: int64
    
    >>> s.replace([2,3,4], 5)
    0    0
    1    1
    2    5
    3    5
    4    5
    dtype: int64
    

    注意:在这个意义上,索引应该从默认的0开始