如何在pandas中将两个不同命名的列连接在一起?

时间:2016-10-25 17:04:48

标签: python pandas dataframe concatenation

我想创建一个新的数据框,其中A和B保留但B列被重命名,A和C列在其下面重复,但C的值被放入重命名的列C(D)。

df =  A      B   C
    'bob'    1   4
    'john'   2   5
    'mick'   3   6

这就是新数据框的样子。

new_df = A      D
       'bob'    1  
       'john'   2  
       'mick'   3  
       'bob'    4  
       'john'   5  
       'mick'   6  

1 个答案:

答案 0 :(得分:8)

<强> 替代-1:

使用lreshape转换为格式为DF的长格式:

pd.lreshape(df, {'D': ['B', 'C']})

Image

<强> 替代-2:

如果要执行连接,请执行以下操作:

df = df.set_index(['A'])
pd.concat([df['B'], df['C']]).reset_index(name='D')

Image