Pandas将行与不同的行名称组合在一起

时间:2016-01-04 21:38:56

标签: python-3.x pandas row

我有以下pandas表:

         A1       A2        A3        A4       B1        B2        B3      B4
3  0.202425  0.13495  0.202425  0.202425  0.94465  0.877175  0.877175  0.8097

我想安排这张表:

         A1       A2        A3        A4
   0.202425  0.13495  0.202425  0.202425
    0.94465  0.877175  0.877175  0.8097

1 个答案:

答案 0 :(得分:0)

您可以选择两组columns,重命名第二组以匹配第一组,然后使用pd.concat()进行垂直合并:

a_cols = [c for c in df.columns if c.startswith('A')]
b_cols = [c for c in df.columns if c not in a_cols]
col_dict = dict(zip(b_cols, a_cols))

pd.concat([df.loc[:, a_cols], df.loc[:, b_cols].rename(columns=col_dict)])

         A1        A2        A3        A4
0  0.202425  0.134950  0.202425  0.202425
0  0.944650  0.877175  0.877175  0.809700