合并两列

2024-09-26 22:53:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要能够合并两个互相“镜像”的列,创建一个新列,在“a”的情况下保存“dest”的值,在“B”的情况下保存“src”的值。你知道吗

我目前有:

src    dest    type     time
  1       2       A       76
  1       3       A      176
  1       4       A      276
  1       5       A      376
  2       1       B      211
  3       1       B      321
  4       1       B      422
  5       1       B      523

需要将其转化为:

 id    type    time
  2       A      76
  2       B     211
  3       A     176
  3       B     311
  4       A     276
  4       B     411
  5       A     376
  5       B     511

我原本以为我需要使用pivot\u table(),但我不认为这在这种情况下会起作用。。。你知道吗


Tags: srcid镜像timetypetable情况dest
1条回答
网友
1楼 · 发布于 2024-09-26 22:53:02

^{}^{}一起使用,最后删除不必要的列:

注意-两种类型的解决方案-AB

df['id'] = np.where(df['type'] == 'B', df['src'], df['dest'])
df = df.sort_values(['id','type']).drop(['src','dest'], 1)
print (df)
  type  time  id
0    A    76   2
4    B   211   2
1    A   176   3
5    B   321   3
2    A   276   4
6    B   422   4
3    A   376   5
7    B   523   5

相关问题 更多 >

    热门问题