Pandas - 按索引

时间:2018-04-26 20:55:35

标签: python pandas

我正在尝试操纵pandas中的一些数据,以便它与现有的软件兼容,执行的操作将类似于:

原始数据框:

    some_data   language    spelling
1   12          french      un
1   12          english     one
1   12          spanish     uno
2   52          french      deux
2   52          english     two
2   52          spanish     dos

目标数据框:

    some_data   lang_en   lang_fr   lang_sp
1   12          one       un        uno
2   52          two       deux      dos

因此,它将合并索引并重新排序某些行以在列中显示它,同时保留任何补充列数据。

所有不会被吐出的栏目' (some_data,在此示例中)包含单个索引的重复数据,实际数据中存在许多此类列。

我绝对可以通过循环数据框来实现,但我想弄清楚它是否可以完全用大熊猫完成。

1 个答案:

答案 0 :(得分:2)

您可以使用:

df.set_index(['some_data','language'])['spelling']\
  .unstack()\
  .rename(columns=lambda x: 'lang_' + x[:2])\
  .rename_axis([None], axis=1)\
  .reset_index()

输出:

   some_data lang_en lang_fr lang_sp
0         12     one      un     uno
1         52     two    deux     dos