使用pandas和numpy,我试图处理数据框中的一列,并希望创建一个与其相关的新列。因此,如果在列x中存在值1,在新列中它将是a,对于值2,它将是b等。
我可以针对单个条件执行此操作,例如:
df['new_col'] = np.where(df['col_1'] == 1, a, n/a)
我可以举出多条件的例子,例如如果 x = 3 或 x = 4,则值应该为 a,但不要像这样做:如果 x = 3,则值应该是 a,如果 x = 4,则值应该是 c。
我尝试了运行两行代码,例如:
df['new_col'] = np.where(df['col_1'] == 1, a, n/a)
df['new_col'] = np.where(df['col_1'] == 2, b, n/a)
但显然第二行会覆盖第一行。我是否遗漏了什么关键信息?