gpt4 book ai didi

python - Pandas - 按索引合并值到新列的行

转载 作者:太空宇宙 更新时间:2023-11-04 02:27:22 26 4
gpt4 key购买 nike

我正在尝试操作 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,在这个例子中)包含跨单个索引的重复数据,真实数据中存在许多这样的列。

我肯定可以通过在数据帧上循环来做到这一点,但我想弄清楚是否有可能完全用 pandas 来做到这一点。

最佳答案

您可以使用:

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

关于python - Pandas - 按索引合并值到新列的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50051709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com