pandas 条件によって文字列を結合させたい

下記元データ(dfとdf1)を結合して、番号を元に2番目以降は
df1の文字+dfの文字を結合してdfの3列目の答えのように文字列を結合して出したいが、
試行錯誤でコードを作成して徐々に近くなってきたが、3列目の答えのような結果が
出ないのでアドバイスを頂きたい

元データ

イメージ説明

実現したいこと

実現したいのは3列目の答えと同じ結果を出したい
4列目の確認が下記ソースコードで作成した結果になります。
イメージ説明

該当のソースコード

import pandas as pd df = pd.DataFrame(data={ '番号': ['1','1','1','2','2','2','3','3','3','3','3'], '文字': ['あ','あい','あいう','か','かき','かきく','さ','さし','さしす','さしすせそ','さしすせ'], '答え': ['あ','あい','あいう','あいうか','あいうかき','あいうかきく','あいうかきくさ','あいうかきくさし','あいうかきくさしす','あいうかきくさしすせそ','あいうかきくさしすせ']}) df1 = pd.DataFrame(data={'番号': ['1','2','3'],'文字': ['あいう','かきく','さしす']}) str="" for index, row in df.iterrows(): for index1, row1 in df1.iterrows(): if row['番号']>row1['番号']: if df.at[index, '番号']!=df.at[index-1,'番号']: str=str+row1['文字'] else: str=str df.at[index, '確認']= str + row['文字']

コメントを投稿

0 コメント