一种 "合并 "数据框的方法,具有匹配值但复杂的交互作用。

问题描述 投票:0回答:1

我有两个不同的DataFrames,我想合并EventNames和Class Code列。我看到一些线程是有的,但我找不到我的问题的解决方案。我也阅读了这个文档,并尝试了不同的组合,然而,并没有很好的工作.我有一个巨大的pandas数据框,有这样的结构。

df1:

    Event   F1Score C3Score
0    A         4       3
1    B         2       4
2    C         3       5
3    D         4       4
4    E         5       5
...  ...      ...     ...
100  Z         2      5

还有一个小一点的,像这样:

df2

   Event   F1ScoreRequirement  F2ScoreRequirement
0    A            4                    3
1    D            4                    3
2    Z            4                    3

实际上,我有一个巨大的数据框架,包含了所有可能的事件(类)和每个组(群)的平均分。然后是一堆较小的数据集,其中包含了每个组(Cohort)的每个事件(类)所需的通过分数。

我想在第一个数据框中添加一列,每一列都有小数据框中的对应值。

GoalFrame,我想在我的第一个数据框中添加一列,每一列都有小数据框中的对应值。

    Event   F1Score F1ScoreRequirement F2Score F2ScoreRequirement  C3Score ... D2Score
0    A         4       4                  3           3              ...
1    B         2                          4                          ...
2    C         3                          5                          ...
3    D         4       4                  4           3              ...
4    E         5                          5                          ...
...  ...      ...     ...                ...         ...             ...
100  Z         2       5                  5           3              ...

我设法手动完成,但数据库非常大,代码运行非常慢,所以我正在寻找一种Pandas方式或numpy来完成它。

python pandas dataframe merge bigdata
1个回答
0
投票

你可以使用df.merge。https:/pandas.pydata.orgpandas-docsstablereferenceapipandas.DataFrame.merge.html。

在你的代码中。

final_df = df1.merge(df2, how='inner', on=['Event'])

© www.soinside.com 2019 - 2024. All rights reserved.