根据索引在熊猫中创建多列

时间:2019-09-18 20:37:54

标签: python pandas

我正在尝试将pandas数据框列设置为索引。由于它是分类列,因此我想折叠同一类别中的所有列。例如:

df

  col1   Set_Index    col2
0    1        A         'a'
1    2        B         'b'
2    3        A         'c'
3    4        B         'd'

新的df必须看起来像:

编辑:我忘记将默认索引放在最终输出所需的输出的初稿中。最终看起来应该像这样:

new_df

             col1      col2
Set_Index 
   A      0    1       'a'
          2    3       'c'
   B      1    2       'b'
          3    4       'd'

我尝试使用groupby()函数,但是并没有太大帮助。

1 个答案:

答案 0 :(得分:0)

您可以将“ Set_Index”列设置为索引,将其删除并根据新索引对行进行排序。

df_new = df.set_index(df.Set_Index).drop(columns=['Set_Index']).sort_index()
df_new

您将拥有以下df_new:

enter image description here

据我所知,每一行都应该有一个索引,并且我不知道如何创建所指示的df_new(第2行和第4行没有索引)。

您可以在此处阅读有关在熊猫中建立索引的更多信息: https://brohrer.github.io/dataframe_indexing.html