比较两个数据框并获得与新数据框的相似性

时间:2019-06-13 18:15:27

标签: python pandas dataframe

我在python中有两个数据帧d1和d2,它们具有相同的结构。 我如何比较它们,并创建一个新的数据框d3,其中只有行,所以在两个数据框d1和d2中都相同。

2 个答案:

答案 0 :(得分:0)

这里

合并的df仅包含常用记录(按主题ID)

$( document ).ready(function() {
    /* get height of .title */
    var title = $(".title").height(); 

    /* get height of .article-white*/
    var article = $(".article-white").height();

    /* calculate distance */
    var new_height = article - title;

    /* apply to css */
    $('h1').css('top', new_height);  
});

输出

import pandas as pd

raw_data_a = {
    'subject_id': ['1', '2', '3', '4', '5'],
    'first_name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'],
    'last_name': ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']}
df_a = pd.DataFrame(raw_data_a, columns=['subject_id', 'first_name', 'last_name'])

raw_data_b = {
    'subject_id': ['4', '2', '6', '7', '8'],
    'first_name': ['Billy', 'Amy', 'Bran', 'Bryce', 'Betty'],
    'last_name': ['Bonder', 'Ackerman', 'Balwner', 'Brice', 'Btisan']}
df_b = pd.DataFrame(raw_data_b, columns=['subject_id', 'first_name', 'last_name'])

df_merge = pd.merge(df_a, df_b, on='subject_id', how='inner')

print(df_merge)

答案 1 :(得分:0)

这是merge的MCVE:

df = pd.DataFrame(np.arange(100).reshape(10,-1), columns = [*'ABCDEFGHIJ'])

    A   B   C   D   E   F   G   H   I   J
0   0   1   2   3   4   5   6   7   8   9
1  10  11  12  13  14  15  16  17  18  19
2  20  21  22  23  24  25  26  27  28  29
3  30  31  32  33  34  35  36  37  38  39
4  40  41  42  43  44  45  46  47  48  49
5  50  51  52  53  54  55  56  57  58  59
6  60  61  62  63  64  65  66  67  68  69
7  70  71  72  73  74  75  76  77  78  79
8  80  81  82  83  84  85  86  87  88  89
9  90  91  92  93  94  95  96  97  98  99

df2 = pd.DataFrame(np.arange(20,120).reshape(10, -1), columns = [*'ABCDEFGHIJ'])

     A    B    C    D    E    F    G    H    I    J
0   20   21   22   23   24   25   26   27   28   29
1   30   31   32   33   34   35   36   37   38   39
2   40   41   42   43   44   45   46   47   48   49
3   50   51   52   53   54   55   56   57   58   59
4   60   61   62   63   64   65   66   67   68   69
5   70   71   72   73   74   75   76   77   78   79
6   80   81   82   83   84   85   86   87   88   89
7   90   91   92   93   94   95   96   97   98   99
8  100  101  102  103  104  105  106  107  108  109
9  110  111  112  113  114  115  116  117  118  119

df3 = df.merge(df2)
print(df3)

输出:

    A   B   C   D   E   F   G   H   I   J
0  20  21  22  23  24  25  26  27  28  29
1  30  31  32  33  34  35  36  37  38  39
2  40  41  42  43  44  45  46  47  48  49
3  50  51  52  53  54  55  56  57  58  59
4  60  61  62  63  64  65  66  67  68  69
5  70  71  72  73  74  75  76  77  78  79
6  80  81  82  83  84  85  86  87  88  89
7  90  91  92  93  94  95  96  97  98  99