Reputation: 365
I need to assign multiple values to multiple columns inside a pandas.DataFrame. What I want to do looks like that:
df.apply(
lambda x: x['card_{}'.format(card)] = score
for card, score in zip(
x['card_id'].split('|'),
x['score_id'].split('|')
),
axis=1
)
How can I do it without looping on card_id
numbers?
Upvotes: 0
Views: 45
Reputation: 29982
You can create a function
def assign_card(row):
for card, score in zip(x['card_id'].split('|'),
x['score_id'].split('|')):
row['card_{}'.format(card)] = score
return row
df = df.apply(assign_card, axis=1)
Upvotes: 0