用零行填充DF的每个外部索引,以使所有这些外部索引具有相同的形状

时间:2018-08-13 16:51:23

标签: python pandas

说我有以下格式的DF:

             col1   col2
idx1 idx2          
   A    W       2      6
        X       5      8
        Y       7      6 
        Z       5      3
   B    X       2      1
        Y       6      5
   C    W       3      4
        X       9      4
        Y       5      3

我想填充idx1的B和C,以便它们具有与idx1的A相同的行数:

             col1   col2
idx1 idx2          
   A    W       2      6
        X       5      8
        Y       7      6 
        Z       5      3
   B    X       2      1
        Y       6      5
        0       0      0 
        0       0      0
   C    W       3      4
        X       9      4
        Y       5      3
        0       0      0

添加的行的索引名称无关紧要。

这是我尝试过的:

blank = pd.DataFrame([0, 0]), index=df.columns).T
for ID in IDs:
    for _ in range(maxLength - lengths[ID]):
        df.loc[ID] = df.loc[ID].append(blank)

其中:

  • blank是零的单行
  • IDs['A', 'B', 'C']
  • maxLength = 4(df.loc['A']中的行数
  • lengths{'A': 4, 'B': 2, 'C': 3}的字典

这导致df.loc['A']保持原样,但是df.loc['B']df.loc['C']保持其原始形状,但现在完全填充了NaN s。我认为在每次df.loc[ID] = ...

调用时尝试分配一个新的形状不同的DF是一个问题

0 个答案:

没有答案