簡體   English   中英

每第 n 行插入一行零到多索引 pandas dataframe

[英]Inserting a row of zeros every nth row into a multi index pandas dataframe

我有一個 dataframe 看起來像下面的那個

          h1  h2  h3
c1 a1 i1   0   0   0
      i2   0   0   0
   a2 i1   0   0   0
      i2   0   0   0
c2 a1 i1   0   0   0
      i2   0   0   0
   a2 i1   0   0   0
      i2   0   0   0
c3 a1 i1   0   0   0
      i2   0   0   0
   a2 i1   0   0   0
      i2   0   0   0

我想在保留順序的同時每第 n 行添加一行零。 例如,如果 n=2,結果應如下所示

          h1  h2  h3
c1 a1 i1   0   0   0
      i2   0   0   0
       g   0   0   0
   a2 i1   0   0   0
      i2   0   0   0
       g   0   0   0
c2 a1 i1   0   0   0
      i2   0   0   0
       g   0   0   0
   a2 i1   0   0   0
      i2   0   0   0
       g   0   0   0
c3 a1 i1   0   0   0
      i2   0   0   0
       g   0   0   0
   a2 i1   0   0   0
      i2   0   0   0
       g   0   0   0

無論多索引有多少級別,我都希望能夠做到這一點。

df = df.reindex(pd.MultiIndex.from_product([df.index.levels[0], df.index.levels[1],
['i1', 'i2', 'g']]),fill_value=0)
print(df)

output:

          h1  h2  h3
c1 a1 i1   0   0   0
      i2   0   0   0
      g    0   0   0
   a2 i1   0   0   0
      i2   0   0   0
      g    0   0   0
c2 a1 i1   0   0   0
      i2   0   0   0
      g    0   0   0
   a2 i1   0   0   0
      i2   0   0   0
      g    0   0   0
c3 a1 i1   0   0   0
      i2   0   0   0
      g    0   0   0
   a2 i1   0   0   0
      i2   0   0   0
      g    0   0   0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM