基于某种条件合并python数据帧的行数据

2024-09-27 07:23:39 发布

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

我有一个python数据,如下所示。在每一行我都有一些相似的“字符串”,在每一轮相似的字符串中,我想将第一个与第一个合并,然后将第一个与第二个合并,然后将第一个与第三个合并,有人能帮我吗

   row   label
1  x     a
2  x     bb
3  x     cc
4  x     rr
5  x     uu
6  y     ff
7  y     bb
8  y     nn

我想:

0  x  a
1  x  abb
2  x  acc
3  x  arr
4  x  auu
5  y  ff 
6  y  ffbb
7  y  ffnn


Tags: 数据字符串rrnnlabelrowccacc
1条回答
网友
1楼 · 发布于 2024-09-27 07:23:39
  • 您的转换是将序列中的第一项附加到序列中的所有其他项
  • 这是将transform()与执行列表理解的lambda一起使用
df = pd.read_csv(io.StringIO("""   row   label
1  x     a
2  x     bb
3  x     cc
4  x     rr
5  x     uu
6  y     ff
7  y     bb
8  y     nn"""), sep="\s+")

df["label"] = df.groupby("row")["label"].transform(lambda s: [s.values[0]+x if i>0 else x for i,x in enumerate(s)])

^{tb1}$

相关问题 更多 >

    热门问题