如何将一个数据帧中某些列的值与另一数据帧中同一列集的值进行比较?

栗仓ose

我有三个数据帧df1,df2和df3,它们的定义如下

df1 = 
   A  B   C
0  1  a  a1
1  2  b  b2
2  3  c  c3
3  4  d  d4
4  5  e  e5
5  6  f  f6

df2 = 
   A  B  C
0  1  a  X
1  2  b  Y
2  3  c  Z

df3 =
   A  B  C
3  4  d  P
4  5  e  Q
5  6  f  R

我已经定义了主键列表PK = ["A","B"]

现在,我将第四个数据帧df4作为df4 = df1.sample(n=2),给出类似

df4 = 
   A  B   C
4  5  e  e5
1  2  b  b2

现在,我想从df2和df1中选择与df4主键值匹配的行。例如,在这种情况下,我需要从df3获得index = 4的行,从df2获得index = 1的行。

如果可能,我需要获取一个数据框,如下所示:

df =
   A  B   C  A(df2)  B(df2) C(df2)  A(df3)  B(df3)  C(df3)
4  5  e  e5                         5       e       Q
1  2  b  b2  2       b      Y

关于如何解决此问题的任何想法将非常有帮助。

克里斯

这是我将对整个数据集执行的操作。如果您想先采样,只需在末尾更新合并语句,就可以替换df1df4或仅采样以下内容t

PK = ["A","B"]

df2 = pd.concat([df2,df2], axis=1)
df2.columns=['A','B','C','A(df2)', 'B(df2)', 'C(df2)']
df2.drop(columns=['C'], inplace=True)

df3 = pd.concat([df3,df3], axis=1)
df3.columns=['A','B','C','A(df3)', 'B(df3)', 'C(df3)']
df3.drop(columns=['C'], inplace=True)

t = df1.merge(df2, on=PK, how='left')
t = t.merge(df3, on=PK, how='left')

输出量

    A   B   C   A(df2)  B(df2)  C(df2)  A(df3)  B(df3)  C(df3)
0   1   a   a1  1.0     a       X       NaN     NaN     NaN
1   2   b   b2  2.0     b       Y       NaN     NaN     NaN
2   3   c   c3  3.0     c       Z       NaN     NaN     NaN
3   4   d   d4  NaN     NaN     NaN     4.0     d       P
4   5   e   e5  NaN     NaN     NaN     5.0     e       Q
5   6   f   f6  NaN     NaN     NaN     6.0     f       R

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将一个数据帧的值与另一个数据帧中的值进行比较?

来自分类Dev

将一列中的每个值与一个数据帧中的另一列中的每个值进行检查

来自分类Dev

根据另一个数据帧中的值将数据帧的列相乘

来自分类Dev

一个数据框中的列总和基于另一数据帧的行值

来自分类Dev

如何通过Pyspark中同一数据帧中另一列的正则表达式值过滤数据帧中的列

来自分类Dev

将值从一个数据帧列传递到Pandas中的另一数据帧

来自分类常见问题

在R中,如何将一个数据框中选定行中的值与另一数据框中选定列的值进行匹配?

来自分类Dev

在R中,如何将一个数据框中选定行中的值与另一数据框中选定列的值进行匹配?

来自分类Dev

使用setDT将一个数据帧中的许多列合并到另一数据帧中

来自分类Dev

如何将数据帧列的所有元素与另一个数据帧中为该列指定的值相乘?

来自分类Dev

如何将一个数据帧中的一行的值与另一个数据帧中的多个行进行比较(包括计算)

来自分类Dev

如何基于向量隔离数据帧中的值,然后使用R将其乘以同一数据帧中的另一列?

来自分类Dev

如何将一个数据帧的一行的EACH值与另一数据帧的一行的所有值相乘

来自分类Dev

如何将单元格值从一个数据帧复制到另一数据帧(不匹配的数据帧长度)

来自分类Dev

如何用另一个数据帧中的列注释一列

来自分类Dev

查找一列的最大值(按组),然后将值插入R中的另一数据帧

来自分类Dev

基于列中的某些值,更新另一个数据帧熊猫中的其他列

来自分类Dev

将一个数据框的每一列与另一数据框列进行比较,并将每个结果重叠打印到单独的文件中

来自分类Dev

将一个数据帧中与标签相对应的值乘以另一数据帧中具有相同标签的所有值

来自分类Dev

如何将一个数据框中的整个列替换为另一数据框中的另一列?

来自分类Dev

在R中,是否有一种方法可以将一个数据帧中的列与另一数据帧中的值重新编码?

来自分类Dev

根据条件查找一个数据帧中的列等于另一数据帧的情况

来自分类Dev

R:一种有效的方式来对一列中的值进行排序/选择,这些值对应于同一数据帧中另一列中的特定值

来自分类Dev

如果特定列的值在两个数据帧中都匹配,则将一个数据帧的行复制到另一数据帧

来自分类Dev

组合两个数据帧,以便一个数据帧中的值成为另一数据帧中的标头

来自分类Dev

组合两个数据帧,以便一个数据帧中的值成为另一数据帧中的标头

来自分类Dev

一个数据帧索引的值的从另一列的基础上操纵

来自分类Dev

如何将两列对与R中数据帧的另一对列进行比较

来自分类Dev

R-将一个数据帧中的值与另一个数据帧中的多个值进行匹配

Related 相关文章

  1. 1

    如何将一个数据帧的值与另一个数据帧中的值进行比较?

  2. 2

    将一列中的每个值与一个数据帧中的另一列中的每个值进行检查

  3. 3

    根据另一个数据帧中的值将数据帧的列相乘

  4. 4

    一个数据框中的列总和基于另一数据帧的行值

  5. 5

    如何通过Pyspark中同一数据帧中另一列的正则表达式值过滤数据帧中的列

  6. 6

    将值从一个数据帧列传递到Pandas中的另一数据帧

  7. 7

    在R中,如何将一个数据框中选定行中的值与另一数据框中选定列的值进行匹配?

  8. 8

    在R中,如何将一个数据框中选定行中的值与另一数据框中选定列的值进行匹配?

  9. 9

    使用setDT将一个数据帧中的许多列合并到另一数据帧中

  10. 10

    如何将数据帧列的所有元素与另一个数据帧中为该列指定的值相乘?

  11. 11

    如何将一个数据帧中的一行的值与另一个数据帧中的多个行进行比较(包括计算)

  12. 12

    如何基于向量隔离数据帧中的值,然后使用R将其乘以同一数据帧中的另一列?

  13. 13

    如何将一个数据帧的一行的EACH值与另一数据帧的一行的所有值相乘

  14. 14

    如何将单元格值从一个数据帧复制到另一数据帧(不匹配的数据帧长度)

  15. 15

    如何用另一个数据帧中的列注释一列

  16. 16

    查找一列的最大值(按组),然后将值插入R中的另一数据帧

  17. 17

    基于列中的某些值,更新另一个数据帧熊猫中的其他列

  18. 18

    将一个数据框的每一列与另一数据框列进行比较,并将每个结果重叠打印到单独的文件中

  19. 19

    将一个数据帧中与标签相对应的值乘以另一数据帧中具有相同标签的所有值

  20. 20

    如何将一个数据框中的整个列替换为另一数据框中的另一列?

  21. 21

    在R中,是否有一种方法可以将一个数据帧中的列与另一数据帧中的值重新编码?

  22. 22

    根据条件查找一个数据帧中的列等于另一数据帧的情况

  23. 23

    R:一种有效的方式来对一列中的值进行排序/选择,这些值对应于同一数据帧中另一列中的特定值

  24. 24

    如果特定列的值在两个数据帧中都匹配,则将一个数据帧的行复制到另一数据帧

  25. 25

    组合两个数据帧,以便一个数据帧中的值成为另一数据帧中的标头

  26. 26

    组合两个数据帧,以便一个数据帧中的值成为另一数据帧中的标头

  27. 27

    一个数据帧索引的值的从另一列的基础上操纵

  28. 28

    如何将两列对与R中数据帧的另一对列进行比较

  29. 29

    R-将一个数据帧中的值与另一个数据帧中的多个值进行匹配

热门标签

归档