![](/img/trans.png)
[英]Subtracting minimum values of a certain pandas dataframe column based on another column
[英]How to change values in certain column of DataFrame based on another DataFrame in Pandas
我有一个名为“数据”的数据框:
USER FIELD1
Jack 1
Jill 2
Kane 3
以及一个名为“ids”的单独数据框,用作转换表:
ID ID_NEW
Jack Jack_NEW
Jill Jill_NEW
Tyler TYLER_NEW
如果在 'ids' 数据框中找到了 USER 值,同时保留未找到的值,我如何遍历 'data' 以替换 USER 值? 最终得到类似的东西:
USER FIELD1
Jack_NEW 1
Jill_NEW 2
Kane 3
您可以通过几个步骤完成此操作。 首先,您使用pd.merge在“USER = ID” 上将两个 DataFrame 连接在一起。 这将在 dfs 不加入的“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]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.