我有一个像这样的数据框
no, frc, val
1121,1,"John"
1121,0,236
3612,1,"Mary"
3612,0,545
我想要合并这样的数据
"John",236
"Mary",545
答案 0 :(得分:2)
您可以使用merge()
方法自我加入此DF的两个子集:
In [21]: (df[df['frc']==1]
.drop('frc',1)
.rename(columns={'val':'name'})
.merge(df[df['frc']==0].drop('frc',1)))
Out[21]:
no name val
0 1121 John 236
1 3612 Mary 545
答案 1 :(得分:2)
df.set_index(['no', 'frc']).val.unstack().rename(columns={0:'val', 1:'name'})
frc val name
no
1121 236 John
3612 545 Mary
或产生OP输出
print(
df.set_index(['no', 'frc']).val
.unstack()[[1, 0]]
.to_csv(index=False, header=False)
)
John,236
Mary,545