代码之家  ›  专栏  ›  技术社区  ›  sds Niraj Rajbhandari

如何通过添加索引值来展开DataFrame?

  •  1
  • sds Niraj Rajbhandari  · 技术社区  · 10 月前

    我有一个数据帧

    import pandas as pd
    df = pd.DataFrame({"a":[1,2,3]},index=[5,7,6])
        a
    5   1
    7   2
    6   3
    

    我想添加一些“缺失”的索引值:

    pd.DataFrame(index=range(3,9)).join(df)
        a
    3   NaN
    4   NaN
    5   1.0
    6   3.0
    7   2.0
    8   NaN
    

    DataFrame.join 真的要走哪条路?

    PS。出于某种原因,我认为 df.index=range(3,9) 应该有效,但它不。。。

    1 回复  |  直到 10 月前
        1
  •  1
  •   mozway    10 月前

    你应该使用 reindex :

    out = df.reindex(range(3,9))
    

    输出

         a
    3  NaN
    4  NaN
    5  1.0
    6  3.0
    7  2.0
    8  NaN
    

    您对的呼叫 join 实际上在内部重新索引为 参加 默认情况下是左联接