如何将一个数据框中的两列合并为一列?

3

我有一个像这样的数据集。

A  B  C  A2
1  2  3   4
5  6  7   8

我希望将A和A2组合起来。

A  B  C
1  2  3
5  6  7
4 
8 

如何合并两个列?希望能得到帮助。谢谢。


1
这个能用吗?df.A = (df.A).append(df.A2)。如果它可行,它可能会在相邻的列中填充其他单元格为NaN或零,我不确定。 - S R Maiti
3个回答

3

我认为直接做不可能。但是您可以通过几行代码来实现:

df = pd.DataFrame({'A':[1,5],'B':[2,6],'C':[3,7],'A2':[4,8]})

df_A2 = df[['A2']]
df_A2.columns = ['A']
df = pd.concat([df.drop(['A2'],axis=1),df_A2])

如果您打印df,您将得到以下结果:

   A    B    C
0  1  2.0  3.0
1  5  6.0  7.0
0  4  NaN  NaN
1  8  NaN  NaN

3
您可以在重命名后将最后一列附加到它后面:
df.append(df[['A2']].set_axis(['A'], axis=1)).drop(columns='A2')

它按预期结果运行:

   A    B    C
0  1  2.0  3.0
1  5  6.0  7.0
0  4  NaN  NaN
1  8  NaN  NaN

1

if the index is not important to you:

import pandas as pd

pd.concat([df[['A','B','C']], df[['A2']].rename(columns={'A2': 'A'})]).reset_index(drop=True)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接