Assign specific value from a column to specific number of rows

Question:

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

df1
df1

df2
df2

Thank you.

df3 (Output)
Output

Asked By: Fred

||

Answers:

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)
Answered By: jezrael
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.