Python Pandas-按值按索引合并行到新列
我正在尝试操作pandas中的一些数据,使其与现有软件兼容,要执行的操作类似于: 原始数据帧:Python Pandas-按值按索引合并行到新列,python,pandas,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 5
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 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
因此,它将合并索引并对某些行重新排序,以在列中显示,同时保留任何补充列数据
所有不被“吐出”的列(本例中的一些_数据)都包含跨单个索引的重复数据,许多这样的列存在于实际数据中
我肯定可以通过在数据帧上循环来实现这一点,但我正在试图弄清楚是否可以完全用熊猫来实现这一点。您可以使用:
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