首页 > 解决方案 > 添加两个熊猫数据框列,它们仅通过后缀参数不同,例如“A_x”、“A_y”,并将这两个列重命名为“A”

问题描述

如何添加两个仅通过后缀参数不同的 pandas 数据框列,例如“A_x”、“A_y”,并将这两个列重命名为“A”。

例如,我有这样的数据 在此处输入图像描述

列必须在没有任何后缀的情况下重命名,即,重命名为 CT_1 或 CT_2 等....

标签: pythonpandas

解决方案


利用:

df = pd.DataFrame([np.arange(6)], columns=['a','s','CT_1_x','CT_1_y','CT_2_x','CT_2_y'])
print (df)
   a  s  CT_1_x  CT_1_y  CT_2_x  CT_2_y
0  0  1       2       3       4       5

df = df.set_index(['a','s']).groupby(lambda x: x.rsplit('_', 1)[0], axis=1).sum().reset_index()
print (df)
   a  s  CT_1  CT_2
0  0  1     5     9

推荐阅读