我有一个称为“数据”的数据框:
USER FIELD1
Jack 1
Jill 2
Kane 3
还有一个单独的称为“ ids”的数据框,用作转换表:
ID ID_NEW
Jack Jack_NEW
Jill Jill_NEW
Tyler TYLER_NEW
如果在“ ids”数据框中找到USER值,同时又保持未找到的值,如何遍历“数据”以替换USER值?最后得到这样的结果:
USER FIELD1
Jack_NEW 1
Jill_NEW 2
Kane 3
您可以通过几个步骤完成此操作。首先,使用pd.merge在“ USER = ID”上将两个DataFrames连接在一起。这将在不加入df的“ ID_NEW”中留下空值,因此您需要为使用Series.combine_first的用户输入“ USER”值。最后,您重新分配列名,然后仅过滤到要保留的列。
merged = pd.merge(data, ids, how="left", left_on="USER", right_on="ID")
merged["USER"] = merged["ID_NEW"].combine_first(merged["USER"])
data = merged[["USER", "FIELD1"]]
如果中有很多列data
,则可以data = merged[data.columns]
在最后完成。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句