DataFrame对象的merge函数使用小结

NBA_basic_dataset:

+-------------+-----------+---------+--------+--------+
|     name    |    team   | poision | height | weight |
+-------------+-----------+---------+--------+--------+
|    jordan   |   Bulls   |    SG   |  198   |  98.0  |
|     kobe    |   Lakers  |    SG   |  198   |  96.0  |
|    Oneil    |   Lakers  |    C    |  216   | 147.0  |
|   McGradyg  |  Rockets  |    SF   |  203   | 101.0  |
|  Larry_Bird |   Boston  |    PF   |  206   | 100.0  |
|   Iverson   |    76s    |    PG   |  183   |  75.0  |
|   Olajuwon  |  Rockets  |    C    |  208   | 116.0  |
+-------------+-----------+---------+--------+--------+

NBA_record_dataset:

+-------------+-------+------------+--------+-------------+---------+
|     name    | nmvps | nChampions | nfmvps | n_all_stars | nscores |
+-------------+-------+------------+--------+-------------+---------+
|    jordan   |   5   |     6      |   6    |      14     |  32292  |
|     kobe    |   1   |     5      |   2    |      18     |  33643  |
|    Duncan   |   2   |     5      |   3    |      15     |  26496  |
|   Johnson   |   3   |     5      |   3    |      12     |  17707  |
+-------------+-------+------------+--------+-------------+---------+
  • df = pd.merge(df_basic, df_record, on='name', how='left')
+------------+---------+---------+--------+--------+-------+------------+--------+-------------+---------+
|    name    |   team  | poision | height | weight | nmvps | nChampions | nfmvps | n_all_stars | nscores |
+------------+---------+---------+--------+--------+-------+------------+--------+-------------+---------+
|   jordan   |  Bulls  |    SG   |  198   |  98.0  |  5.0  |    6.0     |  6.0   |     14.0    | 32292.0 |
|    kobe    |  Lakers |    SG   |  198   |  96.0  |  1.0  |    5.0     |  2.0   |     18.0    | 33643.0 |
|   Oneil    |  Lakers |    C    |  216   | 147.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
|  McGradyg  | Rockets |    SF   |  203   | 101.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
| Larry_Bird |  Boston |    PF   |  206   | 100.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
|  Iverson   |   76s   |    PG   |  183   |  75.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
|  Olajuwon  | Rockets |    C    |  208   | 116.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
+------------+---------+---------+--------+--------+-------+------------+--------+-------------+---------+
  • df = pd.merge(df_record, df_basic, on='name', how='left')
+---------+-------+------------+--------+-------------+---------+--------+---------+--------+--------+
|   name  | nmvps | nChampions | nfmvps | n_all_stars | nscores |  team  | poision | height | weight |
+---------+-------+------------+--------+-------------+---------+--------+---------+--------+--------+
|  jordan |   5   |     6      |   6    |      14     |  32292  | Bulls  |    SG   | 198.0  |  98.0  |
|   kobe  |   1   |     5      |   2    |      18     |  33643  | Lakers |    SG   | 198.0  |  96.0  |
|  Duncan |   2   |     5      |   3    |      15     |  26496  |  nan   |   nan   |  nan   |  nan   |
| Johnson |   3   |     5      |   3    |      12     |  17707  |  nan   |   nan   |  nan   |  nan   |
+---------+-------+------------+--------+-------------+---------+--------+---------+--------+--------+
  • df = pd.merge(df_basic, df_record, on='name', how='right')
+---------+--------+---------+--------+--------+-------+------------+--------+-------------+---------+
|   name  |  team  | poision | height | weight | nmvps | nChampions | nfmvps | n_all_stars | nscores |
+---------+--------+---------+--------+--------+-------+------------+--------+-------------+---------+
|  jordan | Bulls  |    SG   | 198.0  |  98.0  |   5   |     6      |   6    |      14     |  32292  |
|   kobe  | Lakers |    SG   | 198.0  |  96.0  |   1   |     5      |   2    |      18     |  33643  |
|  Duncan |  nan   |   nan   |  nan   |  nan   |   2   |     5      |   3    |      15     |  26496  |
| Johnson |  nan   |   nan   |  nan   |  nan   |   3   |     5      |   3    |      12     |  17707  |
+---------+--------+---------+--------+--------+-------+------------+--------+-------------+---------+
  • df = pd.merge(df_record, df_basic, on='name', how='right')
+------------+-------+------------+--------+-------------+---------+---------+---------+--------+--------+
|    name    | nmvps | nChampions | nfmvps | n_all_stars | nscores |   team  | poision | height | weight |
+------------+-------+------------+--------+-------------+---------+---------+---------+--------+--------+
|   jordan   |  5.0  |    6.0     |  6.0   |     14.0    | 32292.0 |  Bulls  |    SG   |  198   |  98.0  |
|    kobe    |  1.0  |    5.0     |  2.0   |     18.0    | 33643.0 |  Lakers |    SG   |  198   |  96.0  |
|   Oneil    |  nan  |    nan     |  nan   |     nan     |   nan   |  Lakers |    C    |  216   | 147.0  |
|  McGradyg  |  nan  |    nan     |  nan   |     nan     |   nan   | Rockets |    SF   |  203   | 101.0  |
| Larry_Bird |  nan  |    nan     |  nan   |     nan     |   nan   |  Boston |    PF   |  206   | 100.0  |
|  Iverson   |  nan  |    nan     |  nan   |     nan     |   nan   |   76s   |    PG   |  183   |  75.0  |
|  Olajuwon  |  nan  |    nan     |  nan   |     nan     |   nan   | Rockets |    C    |  208   | 116.0  |
+------------+-------+------------+--------+-------------+---------+---------+---------+--------+--------+
  • df = pd.merge(df_basic, df_record, on='name', how='inner')
+--------+--------+---------+--------+--------+-------+------------+--------+-------------+---------+
|  name  |  team  | poision | height | weight | nmvps | nChampions | nfmvps | n_all_stars | nscores |
+--------+--------+---------+--------+--------+-------+------------+--------+-------------+---------+
| jordan | Bulls  |    SG   |  198   |  98.0  |   5   |     6      |   6    |      14     |  32292  |
|  kobe  | Lakers |    SG   |  198   |  96.0  |   1   |     5      |   2    |      18     |  33643  |
+--------+--------+---------+--------+--------+-------+------------+--------+-------------+---------+
  • df = pd.merge(df_record, df_basic, on='name', how='inner')
+--------+-------+------------+--------+-------------+---------+--------+---------+--------+--------+
|  name  | nmvps | nChampions | nfmvps | n_all_stars | nscores |  team  | poision | height | weight |
+--------+-------+------------+--------+-------------+---------+--------+---------+--------+--------+
| jordan |   5   |     6      |   6    |      14     |  32292  | Bulls  |    SG   |  198   |  98.0  |
|  kobe  |   1   |     5      |   2    |      18     |  33643  | Lakers |    SG   |  198   |  96.0  |
+--------+-------+------------+--------+-------------+---------+--------+---------+--------+--------+
  • df = pd.merge(df_basic, df_record, on='name', how='outer')
+------------+---------+---------+--------+--------+-------+------------+--------+-------------+---------+
|    name    |   team  | poision | height | weight | nmvps | nChampions | nfmvps | n_all_stars | nscores |
+------------+---------+---------+--------+--------+-------+------------+--------+-------------+---------+
|   jordan   |  Bulls  |    SG   | 198.0  |  98.0  |  5.0  |    6.0     |  6.0   |     14.0    | 32292.0 |
|    kobe    |  Lakers |    SG   | 198.0  |  96.0  |  1.0  |    5.0     |  2.0   |     18.0    | 33643.0 |
|   Oneil    |  Lakers |    C    | 216.0  | 147.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
|  McGradyg  | Rockets |    SF   | 203.0  | 101.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
| Larry_Bird |  Boston |    PF   | 206.0  | 100.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
|  Iverson   |   76s   |    PG   | 183.0  |  75.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
|  Olajuwon  | Rockets |    C    | 208.0  | 116.0  |  nan  |    nan     |  nan   |     nan     |   nan   |
|   Duncan   |   nan   |   nan   |  nan   |  nan   |  2.0  |    5.0     |  3.0   |     15.0    | 26496.0 |
|  Johnson   |   nan   |   nan   |  nan   |  nan   |  3.0  |    5.0     |  3.0   |     12.0    | 17707.0 |
+------------+---------+---------+--------+--------+-------+------------+--------+-------------+---------+

df = pd.merge(df_record, df_basic, on='name', how='outer')

+------------+-------+------------+--------+-------------+---------+---------+---------+--------+--------+
|    name    | nmvps | nChampions | nfmvps | n_all_stars | nscores |   team  | poision | height | weight |
+------------+-------+------------+--------+-------------+---------+---------+---------+--------+--------+
|   jordan   |  5.0  |    6.0     |  6.0   |     14.0    | 32292.0 |  Bulls  |    SG   | 198.0  |  98.0  |
|    kobe    |  1.0  |    5.0     |  2.0   |     18.0    | 33643.0 |  Lakers |    SG   | 198.0  |  96.0  |
|   Duncan   |  2.0  |    5.0     |  3.0   |     15.0    | 26496.0 |   nan   |   nan   |  nan   |  nan   |
|  Johnson   |  3.0  |    5.0     |  3.0   |     12.0    | 17707.0 |   nan   |   nan   |  nan   |  nan   |
|   Oneil    |  nan  |    nan     |  nan   |     nan     |   nan   |  Lakers |    C    | 216.0  | 147.0  |
|  McGradyg  |  nan  |    nan     |  nan   |     nan     |   nan   | Rockets |    SF   | 203.0  | 101.0  |
| Larry_Bird |  nan  |    nan     |  nan   |     nan     |   nan   |  Boston |    PF   | 206.0  | 100.0  |
|  Iverson   |  nan  |    nan     |  nan   |     nan     |   nan   |   76s   |    PG   | 183.0  |  75.0  |
|  Olajuwon  |  nan  |    nan     |  nan   |     nan     |   nan   | Rockets |    C    | 208.0  | 116.0  |
+------------+-------+------------+--------+-------------+---------+---------+---------+--------+--------+

 

你可能感兴趣的:(#,pandas)