Python 添加两个仅因后缀参数不同而不同的数据帧列,例如;A“ux”&引用;“是的”;并将这两列重命名为“加法”;A「;

Python 添加两个仅因后缀参数不同而不同的数据帧列,例如;A“ux”&引用;“是的”;并将这两列重命名为“加法”;A「;,python,pandas,Python,Pandas,如何添加仅因后缀参数不同的两个数据框列,例如“A_x”、“A_y”,并将这两个列重命名为“A” 例如,我有这样的数据 列必须重命名,不带任何后缀,即CT_1或CT_2等。使用: 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

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

例如,我有这样的数据

列必须重命名,不带任何后缀,即CT_1或CT_2等。

使用:

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
添加两列的步骤

df['A'] = df['A_x'] + df['A_y']
如果要删除原始列

df.drop(columns = ['A_x','A_y'])
如果手动键入的此类列太多,最好的方法是将df合并为长格式

dfm = melt(df, id_vars = ???, value_vars = col2sum)

然后从那里开始(例如
groupby
)。

谢谢。现在,如何添加具有相同CT_1的两个列名,并将总和值存储到CT_1中-因此在上述情况下,CT_1的值应为5?@shravan-我认为没有必要,完全更改答案。