Reputation: 23
Hi I am trying to merge
two dataframes
inside np.where
but getting error.
How to achive df.merge()
, What am i doing wrong ?
Code:
df3['old_result'] = np.where((df3['present_in_old'] == 'yes'), df3.merge(df1,left_on=(df3['id']), right_on = (df1['id']), how = 'outer')['name'],None)
Upvotes: 0
Views: 148
Reputation: 31166
df1 = pd.DataFrame(
{"id": range(300), "name": np.random.choice(list("abcdefghijkjlmnopqrstuvwxyz"), 300)}
)
df3 = pd.DataFrame(
{
"id": range(35),
"name": np.random.choice(list("abcdefghijkjlmnopqrstuvwxyz"), 35),
"present_in_old": np.random.choice(["yes", "no", "maybe"], 35),
}
)
df3["old_result"] = np.where(
(df3["present_in_old"] == "yes"),
df3.merge(df1, left_on="id", right_on="id", suffixes=("_left", ""), how="left")["name"],
None,
)
Upvotes: 1