我想创建一个新的数据框,其中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
答案 0 :(得分:8)
<强> 替代-1: 强>
使用lreshape
转换为格式为DF
的长格式:
pd.lreshape(df, {'D': ['B', 'C']})
<强> 替代-2: 强>
如果要执行连接,请执行以下操作:
df = df.set_index(['A'])
pd.concat([df['B'], df['C']]).reset_index(name='D')