根据其他数据框向pandas数据框添加新列

我正在尝试在一个pandas数据框中设置一个新的列(实际上是两个列),这些数据来自另一个数据框。

我有以下两个数据框(这些是用于此目的的示例,原始数据框要大得多):

In [116]: df0Out[116]:        A  B  C0  0  1  01  2  3  22  4  5  43  5  5  5In [118]: df1Out[118]:    A  D  E0  2  7  21  6  5  52  4  3  23  0  1  04  5  4  65  0  1  0

我想得到一个新的数据框(或者添加到df0中,随便哪种都可以),如下所示:

df2:    A  B  C  D  E0  0  1  0  1  01  2  3  2  7  22  4  5  4  3  23  5  5  5  4  6

如您所见,结果数据框中没有A=6的行,这行在df1中存在但不在df0中。另外,df1中A=0的行是重复的,但在结果df2中没有重复。

实际上,我在选择方法上遇到了麻烦。我可以这样做:

df1.loc[df1['A'].isin(df0['A'])]

但我不确定如何应用保留唯一数据的部分(请记住,df1可能包含重复数据),以及如何将这两个列添加到df2数据集中(或者添加到df0中)。我在这里搜索过,但不知道如何应用类似于groupby或map的方法。

有什么想法吗?

谢谢!


回答:

这是merge的基本应用(文档):

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注