У меня есть два кадра данных:
Person_df
Name Emplid Country
0 DK 123 India
1 JS 456 India
2 RM 789 China
3 MS 111 China
4 SR 222 China
Target_df
Country Category Target
0 India Marketing Reduce spend by $xy.
1 India R&D Increase spend by $dd.
2 India Infra Reduce spend by $kn.
3 China Marketing Increase spend by $eg.
4 China R&D Increase spend by $cb.
5 China Infra Reduce spend by $mn.
Моя цель - создать третий DataFrame, основанный на стране каждого человека, который будет выглядеть следующим образом:
Individual_df
TargetID Category Target
DK12301 Marketing Reduce spend by $xy.
DK12302 R&D Increase spend by $dd.
DK12303 Infra Reduce spend by $kn.
JS45601 Marketing Reduce spend by $xy.
JS45602 R&D Increase spend by $dd.
JS45603 Infra Reduce spend by $kn.
RM78901 Marketing Increase spend by $eg.
RM78902 R&D Increase spend by $cb.
RM78903 Infra Reduce spend by $mn.
MS11101 Marketing Increase spend by $eg.
MS11102 R&D Increase spend by $cb.
MS11103 Infra Reduce spend by $mn.
SR22201 Marketing Increase spend by $eg.
SR22202 R&D Increase spend by $cb.
SR22203 Infra Reduce spend by $mn.
По сути, мне нужно взять человека из Person_df, сопоставить его / ее страну со страной, упомянутой в Target_df, а затем назначить каждому из этих целей это лицо (и сохранить в Individual_df).
Проблема в том, что я новичок в python и не могу понять, как провести сравнение стран.
Я написал код ниже:
for index, row in Person_df.iterrows():
for index1, row1 in Goals_df.iterrows():
If Person_df['country'] == Person_df['country'] : #I know this is incorrect
data = []
#populate data[] with selected values for one person.
#append data[] to Individual_df
Мне нужна помощь по нескольким пунктам здесь:
1) Как на самом деле я могу провести здесь сравнение для страны каждого человека.
2) Даже если я знаюдля сравнения, код, который я написал, неэффективен, так как здесь я выполняю множество ненужных итераций.Любые указатели, как я могу улучшить это?
Спасибо!