Assign specific value from a column to specific number of rows

I would like to assign agent_code to specific number of rows in df2.

df1
df1

df2
df2

Thank you.

df3 (Output)
Output

>Solution :

First make sure in both DataFrames is default index by DataFrame.reset_index with drop=True, then repeat agent_code, convert to default index and last use concat:

df1 = df1.reset_index(drop=True)
df2 = df2.reset_index(drop=True)

s = df1['agent_code'].repeat(df1['number']).reset_index(drop=True)
df3 = pd.concat([df2, s], axis=1)

Leave a Reply