首页 > 解决方案 > Pandas -- 根据条件将 groupby 合并到新的数据框中

问题描述

我有以下数据框:

df1:

+----+-----------+
| ID | Purchases |
+----+-----------+
| a  | 1         |
+----+-----------+
| b  | 4         |
+----+-----------+
| b  | 4         |
+----+-----------+
| b  | 4         |
+----+-----------+
| c  | 7         |
+----+-----------+

还有另一个数据框:

df2:

+----+-----------+
| ID | Purchases |
+----+-----------+
| a  | NaN       |
+----+-----------+
| c  | NaN       |
+----+-----------+

如何df1按 ID 分组,获取 Purchases 的值并将其映射回df2?请注意,df2它没有所有的 ID df1,因此只有df2应该填写的 ID(即不应添加新的 ID df2)。

这是我尝试过的:

t = df1.groupby('ID', as_index=False)
pd.merge(left=df2, right=t, left_on='ID', right_on='ID')

但它不起作用。

标签: pythonpandasdataframedataset

解决方案


推荐阅读